Vous êtes sur la page 1sur 135

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université Amar Telidji- Laghouat

FACULTE DE TECHNOLOGIE
DEPARTEMENT D'ELECTRONIQUE

MEMOIRE DE MASTER
Présenté par : 1-TAKHI Hocine
2-ATTACHI Redouane Cherif
DOMAINE : Sciences et Technologies
FILIERE : Electronique
OPTION : Instrumentation

Thème

Conception et réalisation d’un robot mobile à base


d’Arduino

Jury de soutenance :

Nom et Prénom Grade qualité


KADRI Mustapha Président
BELKHEIRI Ahmed Examinateur
CHELLALI Safouane Examinateur
BIRANE Abdelkader Rapporteur
MERAH Lehcene Co-Rapporteur

Promotion : 2014-2015
Remerciment

En préambule à ce mémoire, nous souhaitons adresser nos remerciements les plus sincères aux
personnes qui nous ont apporté leur aide et qui ont contribué à l'élaboration de ce mémoire ainsi
qu’à la réussite de cette formidable année universitaire.

Nous tenons à remercier sincèrement Monsieur BIRANE Abdelkader et MERAH Lehcene qui, en
tant que encadreur et co-encadreur de mémoire, s'est toujours montré à l'écoutent et très disponibles
tout au long de la réalisation de ce mémoire, ainsi pour l'inspiration, l'aide et le temps qu'ils a bien
voulus nous consacrer et sans qui ce mémoire n'aurait jamais vu le jour.

Nous tenons à exprimer nos reconnaissances envers monsieur Hamdi Abdelwaheb qui nous ont
donné le meilleur de lui même en contribuant à augmenter notre savoir durant nos études.
Nous exprimons nos gratitudes à tous les consultants et internautes rencontrés lors des recherches
effectuées et qui ont accepté de répondre à mes questions avec gentillesse.

Sans oublie nos parents pour leur contribution, leur soutien et leur patience.

Enfin, nous adressons nos plus sincères remerciements à tous nos proches et amis, qui nous ont
toujours soutenue et encouragée au cours de la réalisation de ce mémoire.

Merci à tous et à toutes.


Dédicace

Je dédie ce modeste travail à :

-Mes très chers parents pour leur soutien infaillible durant toutes mes années d’études.

-Mes frères et mes sœurs.

-Toute ma famille sans exception.

-mon professeur de lycée madame Bedrina

-Mes chers : Lahrache Abdelkader, Lahrache Allal, Ghilane Mohamed, Goual Ibrahim, Daoudi
youssef et Nouar djeloul

-Tous ceux qui m’aiment.

-Mon binôme Redouane

-Toute la promotion d’instrumentation 2014-2015

T. Hocine

Je dédie ce modeste travail à :

-Mes très chers parents pour leur soutien infaillible durant toutes mes années d’études.

-Mes frères et mes sœurs.

-Toute ma famille sans exception.

-Tous ceux qui m’aiment.

-Mon binôme Hocine

-Toute la promotion d’instrumentation 2014-2015

A.Redouane
‫ملخص‬

‫إن الهدف من هذا العمل هو تصميم آلة متحركة على ثالث عجالت يتم توصيلها ببطاقة إلكترونية "اردوينو" و التحكم بها بتطوير برنامج‬
.‫"اردوينو" على مستوى الحاسوب مهمة هذه اآللة هي تحديد منبع نار ما و إطفائها‬

‫روبوت متحرك‬،‫اردوينو‬: ‫كلمات مفتاحية‬

Résumé

Ce projet concerne la conception, la réalisation et la commande d’un robot mobile à trois roues a
l’aide d'une carte électronique" Arduino" adapté pour pouvoir la relier au robot après avoir développé le
programme en logiciel Arduino ,son rôle est de détecter une source de flamme quelconque et l'éteindre.

Mots clés :robot mobile -Arduino -

Abstract

This project involves the design, implementation and controlling of a mobile robot with three
wheels with an electronic card "Arduino" adapted to be able to connect to the robot after developing the
program in Arduino software, its role is to detect any source of flame and extinguish it.

Key Words: mobile robot -Arduino -


Sommaire
Liste des figures ......................................................................................................................... I
Liste des tableaux ................................................................................................................... VI
Introduction général ................................................................................................................ 1
Chapitre 1 : Généralité sur les robots
1. Introduction ........................................................................................................................................... 2
2. Historique de l'évolution de la robotique et les robots ........................................................................ 2
3. Définition ............................................................................................................................................... 6
4. Les composants de Robots .................................................................................................................... 7
5. Les types des robots .............................................................................................................................. 9
5.1. Les robots manipulateurs .............................................................................................................. 9
5.2. Les robots mobiles ....................................................................................................................... 11
6. Domaine d’utilisation des robots ........................................................................................................ 14
7. Avantages et inconvénients des robots .............................................................................................. 15
8. Conclusion ........................................................................................................................................... 17
Chapitre 2 : Capteurs et Actionneurs
1. Introduction ......................................................................................................................................... 18
2. Les capteurs ......................................................................................................................................... 19
2.1. Définition d’un capteur ............................................................................................................... 19
2.2. Chaine de mesure ........................................................................................................................ 20
2.3. Classification des capteurs .......................................................................................................... 20
2.4. Les principes physiques des capteurs.......................................................................................... 21
2.5. Caractéristiques métrologique .................................................................................................... 24
2.6. Erreurs et incertitudes dans les capteurs .................................................................................... 26
2.7. Etalonnage des capteurs ............................................................................................................. 28
3. Les actionneurs .................................................................................................................................... 28
3.1. L’actionneur ................................................................................................................................. 28
3.2. Mode de fonctionnement des actionneurs et des moteurs........................................................ 29
3.3. Les familles d’actionneurs ........................................................................................................... 30
3.4. Les actionneurs électriques ......................................................................................................... 31
4. Conclusion ........................................................................................................................................... 38
Chapitre 3 : Microcontrôleur et Arduino
1. Introduction ......................................................................................................................................... 39
2. Historique ............................................................................................................................................ 39
3. Définition de microcontrôleur ............................................................................................................. 40
3.1. Les composants internes d’un microcontrôleur.......................................................................... 40
3.2. Les types des microcontrôleurs ................................................................................................... 42
3.3. Langage de programmation d’un microcontrôleur ..................................................................... 43
3.4. Domaines d'applications des microcontrôleurs .......................................................................... 44
4. Arduino ................................................................................................................................................ 46
4.1. C’est quoi l'Arduino? ................................................................................................................... 46
4.2. Bref historique de l'Arduino ........................................................................................................ 46
4.3. Matériel arduino .......................................................................................................................... 46
4.4. Logiciel Arduino ........................................................................................................................... 47
4.5. Les avantages de l’arduino .......................................................................................................... 49
5. Conclusion ........................................................................................................................................... 49
Chapitre 4 : Réalisation
1. Introduction: ........................................................................................................................................ 50
2. La conception de robot :...................................................................................................................... 50
2.1. La structure de base du robot : ................................................................................................... 50
2.2. Détail de chaque bloc : ................................................................................................................ 50
2.3. La programmation ........................................................................................................................... 63
2.3.1. Définition de programme ........................................................................................................ 63
2.3.2. L’algorithme de programme .................................................................................................... 63
3. La réalisation........................................................................................................................................ 64
3.1. La réalisation des circuits............................................................................................................. 64
3.2. La réalisation de carcasse du robot ............................................................................................. 65
5. Le teste de robot ................................................................................................................................. 74
6. Conclusion: .......................................................................................................................................... 76
Conclusion générale: .............................................................................................................. 78
Annexe A : Les tableaux d’étalonnage ........................................................................................................ 79
Annexe B : Algorithme et programme......................................................................................................... 88
Bibliographie ............................................................................................................................. I
Liste des figures
Liste des figures
Figure 1.1 : L’horloge de Ctésibios (http://ichbiah.online.fr/extraits/robots/histoire-des-robots.htm).

Figure 1.2 : L’automate d’Al Jazari (Cours de robotique fondamental)


(http://ichbiah.online.fr/extraits/robots/histoire-des-robots.htm).

Figure 1.3 : Le canard développé par Jacques de Vaucanson


(http://ichbiah.online.fr/extraits/robots/histoire-des-robots.htm).

Figure 1.4 : Machine à tisser (http://ichbiah.online.fr/extraits/robots/histoire-des-robots.htm).

Figure 1.5 : Le premier ordinateur.

(http://ichbiah.online.fr/extraits/robots/histoire-des-robots.htm)

Figure 1.6 : Les différents types des robots (Introduction à la robotique)


(http://ligmembres.imag.fr/aycard/html/Enseignement/intro-robotique.pdf)

Figure 1.7 : Un bras manipulateur (http://michel.llibre.pagesperso-orange.fr/)

Figure 1.8 : Effecteur finale d’un manipulateur (http://www.snipview.com/q/Robot_end_effector)

Figure1.9 : Différents actionneurs d’un robot


(http://www.robotshop.com/blog/en/files/actuators.jpg)

Figure 1.10 : Différents capteurs d’un robot


(http://www.societyofrobots.com/images/sensors_reference.jpg)

Figure 1.11 : Un contrôleur utiliser pur commander un robot


(http://arduino.cc/en/Main/arduinoBoardMega)

Figure1.12 : Le logiciel qui commande le robot


(http://www.societyofrobots.com/step_by_step_robot_step1.shtml)

Figure 1.13 : L’espace de travaille de robot cylindrique (Computer Aided Manufacturing)

Figure 1. 14: L’espace de travaille de robot rectiligne (Computer Aided Manufacturing)

Figure 1.15 : L’espace de travaille de robot sphérique (Computer Aided Manufacturing)

Figure 1.16 : L’espace de travaille de robot articulé (Computer Aided Manufacturing)

Figure 1.17 : L’espace de travaille de robot SCARA


(http://www.societyofrobots.com/robot_arm_tutorial.shtml)

Figure 1.18 : L'architecture d’un robot mobile (SLIMANE Noureddine, "SYSTEME DE


LOCALISATION POUR ROBOTS MOBILES" Mémoire pour l’obtention du grade de docteur
d’état en robotique. Université de Batna)

I
Figure1.19 : Robot de type unicycle (Belkhadria Khemisti, "commande d’un robot mobile par
réseaux de neurones artificiels" Mémoire en vue de l’obtention du diplôme de magister en
électronique. Option : Robotique. Université El Hadj Lakhdar Batna)

Figure1.20 : Robot de type tricycle (Belkhadria Khemisti, "commande d’un robot mobile par
réseaux de neurones artificiels" Mémoire en vue de l’obtention du diplôme de magister en
électronique. Option : Robotique. Université El Hadj Lakhdar Batna)

Figure1.21 : Robot de type voiture (Belkhadria Khemisti, "commande d’un robot mobile par
réseaux de neurones artificiels" Mémoire en vue de l’obtention du diplôme de magister en
électronique. Option : Robotique. Université El Hadj Lakhdar Batna)

Figure1.22 : Robot de type omnidirectionnel (Belkhadria Khemisti, "commande d’un robot mobile
par réseaux de neurones artificiels" Mémoire en vue de l’obtention du diplôme de magister en
électronique. Option : Robotique. Université El Hadj Lakhdar Batna)

Figure 1.23 : Robot chirurgical Da Vinci (http://www.chirurgie-robotisee.ch/)

Figure 1.24 : Le robot infirmier RIBA (http://www.engadget.com/2011/08/02/riba-ii-healthcare-


robot-now-stronger-smarter-still-a-bear/)

Figure 1.25 : Le robot patient Hanako Showa (http://www.scriptol.fr/robotique/robots/medical.php)

Figure 2.1 : Les différents étages d’un system automatisé (Sensors and Actuators: Control System
Instrumentation)

Figure 2.2 : Chaine d’action d’un capteur

Figure 2.3 : Schéma d'un capteur composite (Les capteurs en instrumentation industrielle (par
Georges Asch))

Figure 2.4 : Quelque effet physique d’un capteur actif : a) thermoélectrique, b) pyroélectrique, c)
piézoélectrique, d) indiction électromagnétique, e) photoélectricité, f) effet Hall (Les capteurs en
instrumentation industrielle (par Georges Asch))

Figure 2.5 : Les trois domaines de fonctionnement d'un capteur (Chapitre_01_668_H14)

Figure 2.6 : La sensibilité d’un capteur (Sensor Technologies: Healthcare, Wellness and
Environmental Applications (Par Michael J. McGrath,Cliodhna Ni Scanaill))

Figure 2.7: hystérésis d’un capteur (Resistive, Capacitive, Inductive, and Magnetic Sensor
Technologies (Par Winncy Y. Du))

Figure 2.8 temps de réponse d’un capteur

Figure 2.9 temps de récupération

Figure 2.10 : L’erreur du zéro (Chapitre_01_668_H14)

Figure 2.11 : L’erreur liée à l’étalonnage (Chapitre_01_668_H14)

Figure 2.12 Schéma fonctionnel et symboles des actionneurs

II
Figure 2.13 Principe de la commande de vitesse en boucle fermée

Figure 2.14 : Actionneur hydraulique


(http://www.coastersworld.fr/index.php?page=reportage_safetybar)

Figure 2.15 : Actionneur piézoélectrique (https://www.elprocus.com/piezoelectric-ultrasonic-motor-


technology/)

Figure 2.16 : Vue en couple simplifiée


(http://stigen.branly.amiens.free.fr/fiches%20elec/moteur.pdf)

Figure 2.17 : Perspective de l’induit simplifiée


(http://stigen.branly.amiens.free.fr/fiches%20elec/moteur.pdf)

Figure 2.18 : Règle de la main droite


(http://physique.vije.net/1STI/electricite_m.php?page=force_magnetique2)

Figure 2.19 : Les couples d’un moteur


(http://stigen.branly.amiens.free.fr/fiches%20elec/moteur.pdf)

Figure 2.20 : Bilan de puissance (http://www4.ac-nancy-metz.fr/lyc-loritz-


nancy/pre_bac/ssi/cours/electrotechnique/MoteursDC/equations.htm)

Figure 2.21 : a)Symbole d’un moteur à excitation indépendant ; b) à excitation shunt

Figure 2.22 : Symbole d’un moteur à excitation série


(http://christophe.bleja.free.fr/cours/ch6/moteurserie-I.htm)

Figure 2.23 : Symbole d’un moteur à excitation compound

Figure 2.24 : Structure de moteur à balais et moteur sans balais


(file:///C:/Users/Hocine/Downloads/la_machine_synchrone_monophasee_et_biphasee_dans_les_aut
omatismes_j.f_hilaire%20(1).pdf)

Figure 2.25 : Un servomoteur


(http://www.mysti2d.net/polynesie//SIN/08/ServoLent/ServoLent.html?Servomoteur.html)

Figure 2.26 : Moteur à aimants permanant (http://www.mdpmotor.fr/documentation/lexique/pas-a-


pas/composition.html)

Figure 2.27 : Moteur hybride (http://www.mdpmotor.fr/documentation/lexique/pas-a-


pas/composition.html)

Figure 2.28 : Moteur à réluctance variable (http://www.mdpmotor.fr/documentation/lexique/pas-a-


pas/composition.html)

Figure 3.1 : Schéma des éléments principaux d’un microcontrôleur (Microcontrollers:


Fundamentals and Applications with PIC (Par Fernando E. Valdes-Perez,Ramon Pallas-Areny))

Figure 3.2 : Symbole d’un convertisseur numérique/analogique (http://www.physagreg.fr/capes-


physique-montage-8-conversion-analogique-numerique.php)

III
Figure 3.3 : Signal analogique par la technique PWM ([35])

Figure 3.4 : Les types des microcontrôleurs ([31])

Figure 3.5 : L’architecture d’un microcontrôleur (Microcontroller (Par V. Udayashankara))

Figure 3.6 : Les appareils de communication


(http://www.rueducommerce.fr/Destockage/Telephonie/Telephones-fixe-sans-
fil/ICREATION/4899593-Telephone-portable-DECT-Bluetooth-I650-noir.htm)

Figure 3.7 : Appareil médicale (http://buzz-esante.com/2015/01/06/freestylelibre-patch-connecte-


pour-la-mesure-de-la-glycemie/)

Figure 3.8 : Appareil de sécurité (http://www.climatisation-alarme-var.fr/alarmes-surveillance-


vidauban).

Figure 3.9 : Les appareils industriels (http://www.cogniscotech.com/default.aspx)

Figure 3.10 : Les moyens de transports (http://blogvoyages.fr/se-deplacer-en-france/)

Figure 3.11: TV, video, HIFI (http://www.speedpcservices.net/produits.html)

Figure 3.12 : Enregistreur de données géographiques à pile et système de fixation


(http://hitech.bfh.ch/fr/archives/hitech_32009/geolocalisateur.html)

Figure 3.13 : Déférent types des capteurs pour l’arduino


(http://www.trossenrobotics.com/c/arduino-sensors.aspx)

Figure 3.14 : Déférents actionneurs pour l’arduino


(http://technopengl.free.fr/index.php?page=Actionneurs)

Figure 3.15 : Déférent types des cartes arduino


(https://www.sparkfun.com/categories/103?page=all)

Figure 3.16 : Interface de logiciel arduino


(http://www.louisreynier.com/fichiers/KesacoArduino.pdf)

Figure 3.17: Détail de barre de bouton (http://www.louisreynier.com/fichiers/KesacoArduino.pdf)

Figure 4.1 : La structure générale du robot

Figure 4.2 : Le placement des capteurs infrarouge dans le robot

Figure 4.3 : Schéma du capteur infrarouge

Figure 4.4 : L’opération d’étalonnage

Figure 4.5 : La valeur maximale en fonction de distance

Figure 4.6 : L’opération d’étalonnage angulaire

Figure 4.7 : La valeur maximale en fonction de l’angle

Figure 4.8 : L’effet de la fente sur le capteur

IV
Figure 4.9 : La valeur de capteur de précision en fonction de distance

Figure 4.10 : La valeur de précision en fonction de l’angle

Figure 4.11 : Courbe d’étalonnage de thermistance

Figure 4.12 : Schéma de capteur de température

Figure 4.13 : Capteur ultrason HC-SR04

Figure 4.14 : L’opération d’étalonnage de capteur de distance

Figure 4.15 : Étalonnage de capteur de distance HC-SR04

Figure 4.16 : La carte Arduino Mega

Figure 4.17 : Le moteur DC utilisé

Figure 4.18 : Schéma de circuit de commande du moteur

Figure 4.19 : L’opération d’étalonnage de circuit de commande

Figure 4.20 : L’étalonnage de circuit de commande

Figure 4.21 : Schéma de circuit de commande de la pompe

Figure 4.22 : Schéma de circuit d’alimentation

Figure 4.23 : Solid Edge

Figure 4.24 : La forme sous du robot

Figure 4.25 : Les cotés principales du robot

Figure 4.26 : Le châssis du robot sous Solid Edge

Figure 4.27 : Le châssis du robot réalisé

Figure 4.28 : Le cadre du robot sous Solid Edge

Figure 4.29 : Le cadre de robot réalisé

Figure 4.30 Mauvaise fonctionnement du robot

Figure 4.31 Les anciens circuits de commande

Figure 4.32 L’ancien cadre

Figure 4.33 Bonne fonctionnement du robot

Figure 4.34 : L’icone de l’application QuickRemote

Figure 4.35 : La télécommande crée

Figure 4.36 : L’opération de teste

V
Liste des tableaux
Liste des tableaux
Tableau 1.1 Les avantages et des inconvénients des différents types de robots à roues

Tableau 2.1 : quelque domaine d’utilisation des capteurs et des actionneurs

Tableau 2.2 : L’influence des mesurande sur les propriétés électriques de matériaux.

Tableau 2.3 : comparaison des différents types de moteurs pas à pas

Tableau 3.1 : Les développements historiques dans les produits de microprocesseurs

Tableau 4.1 : L’étalonnage de distance des capteurs infrarouge

Tableau 4.2 : L’étalonnage angulaire des capteurs infrarouge

Tableau 4.3 : L’étalonnage de distance du capteur de précision

Tableau 4.4 : L’étalonnage angulaire du capteur de précision

Tableau 4.5 : Tableau d’étalonnage de capteur de distance

Tableau 4.6 : Etalonnage de circuit de commande

Tableau 4.7 : Les circuits de robot

Tableau 4.8 : Les pièces du robot

VI
Introduction générale
Introduction général
L'homme a toujours souhaité se libérer du travail dans ce qu'il a d'astreignant, de fatiguant,
d’inintéressant. Les progrès qu'on connue les technologies depuis un demis siècle sont a même de
répondre en bonne parti à son désir par l'intermédiaire de deux outils générique: l'ordinateur pour
les travaux mentaux et le robot pour les travaux physiques. Le premier a pris une certaine avance
sur le second grâce à la découverte des semi-conducteurs, ces matériaux solides qui peuvent trier
des informations sans mobilité mécanique. Le second est toujours tributaire de la vieille mécanique
aux pièces fragiles et mobiles et au cout significatif.

Malgré son aspect récent, la robotique tire ses origines des civilisations les plus antiques. Il est
peut être même vrai que toutes les autres sciences ont existé juste pour permettre à la robotique de
se développer afin d’aider l’Homme à créer ce « esclave » qui appliquera ses ordres au doigt et à
l’œil et qui le libérera à jamais du travail.

De l'Homme préhistorique qui s'empressa d’inventer des extensions technologiques de ses


membres afin de faciliter son travail, comme la massue par exemple, jusqu’au robot mobile
autonome le plus performant, la robotique mobile n’a cessé de connaître des progrès spectaculaires.
En effet, les générations de robots mobiles se sont vite succédé offrant à chaque fois plus de
performances en matière de perception, d’autonomie et de pouvoir décisionnel. Ces progrès étaient
un résultat inévitable des développements qu’ont connu la mécanique, la microélectronique et
l’informatique. C’est pour cela qu’en très peu de temps, les générations de robots se succèdent pour
voir naître une branche de la robotique visant de plus amples horizons : c’est l’ère de la robotique
mobile.

L’objectif principal de notre travail est de réaliser un robot mobile on utilisant une carte
électronique Arduino. La tache principale du robot est de détecter et éteindre la flamme même il
peut éviter les obstacles et le forage.

Ce travail est alors organisé en quatre chapitres de la manière suivante :

Le premier chapitre présente certaines généralités concernant la robotique et les différents types des
robots et robots mobiles.

Le second chapitre introduit quelques composants du robot comme les capteurs, les actionneurs et
d’autres concepts liés à leurs utilisations.

Le troisième chapitre est consacré au microcontrôleur, langages de programmation et en particulier


l’IDE de l’Arduino.

Le quatrième chapitre traite la partie pratique

1
Chapitre 1 :
Généralité sur les robots
1. Introduction
Les robots aujourd'hui ont un impact considérable sur de nombreux aspects de la vie moderne, de
la fabrication industrielle aux soins de santé, le transport et l'exploration de l'espace et le profond de
la mer. Demain, des robots seront aussi omniprésents et personnelle comme les ordinateurs
personnels.

Le rêve de créer des machines qui sont qualifiés et intelligentes a fait partie de l'humanité depuis
le début du temps. Ce rêve est en train de devenir une partie de la réalité de notre monde. [4]

Quand les chercheurs ont commencé à réfléchir sur la conception de robots, on appelait
« robotique » la science des robots et/ou l'art de concevoir et fabriquer des robots. Les succès des
robots industriels, qui travaillaient initialement en poste isolé et qui ont été intégrés à des chaînes de
production comme des machines parmi d'autres, ont conduit le public à élargir le sens du terme
« robotique » et à le rendre désormais presque synonyme d'automatisation. Le correspondant de
robotique devrait naturellement être « automatique » mais ce n'est pas le cas dans le langage
courant. Pour compenser ce hiatus se sont créés le mot « robotisation » et le verbe « robotiser » pour
désigner la plupart des automatisations et leur mise en œuvre, même en l'absence de véritables
robots. Dans certains champs d'applications, des mots calqués sur robotique sont apparus. Il en est
ainsi de « domotique » qui désigne tout ce qui concerne l'automatisation dans l'habitat ou
« productique » pour tout ce qui a trait aux moyens de production. [1]

Aujourd'hui, la robotique est donc l'art d'automatiser des systèmes plus ou moins complexes mais
en s'appuyant sur le savoir-faire acquis par les études sur la conception de robots, savoir-faire issu
des développements d'une branche de l'automatique générale. [2]

En effet, on constate a posteriori que la structure d'une machine ou d'un système n'a pas besoin
d'adopter la forme physique de ce qu'on appelle généralement robot pour que son contrôle adopte
les mêmes composants que ces machines, à savoir : des capteurs internes pour la régulation, des
capteurs externes pour connaître l'environnement, des moyens d'action motorisés, ainsi qu'une
informatique de commande pouvant faire appel à la programmation et aux techniques de
l'intelligence artificielle. Tous ces composants et leurs actions peuvent être distribués dans l'espace
au lieu d'être rassemblés ou de provenir d'une seule structure. Par ailleurs, une collaboration de
divers ensembles est possible aboutissant donc à un système robotisé.

2. Historique de l'évolution de la robotique et les robots


Durant plusieurs millénaires, les automates ont reposé sur des ressorts, engrenages et autres
mécanismes, ce qui ne les a pas empêchés d'atteindre une grâce qui force l'admiration. Et puis
l'informatique est venue changer la donne en permettant de stocker de très larges quantités
d'informations et de séquences d'actions dans une petite puce. Le robot est ainsi arrivé à une
sophistication telle qu'il peut désormais tenter de trouver par lui-même la solution de certains
problèmes. [3]

L'histoire des robots a ainsi traversé les étapes suivantes :

Les masques et statues animés de l’antiquité

2
L'origine des masques et statues animés remonte à l'Egypte ancienne où l'on a recensé un masque
à l'effigie de Thot (tête d'Ibis) ou d'Horus (tête de faucon) qui pareillement semblent doués de
mouvement. Ce qui caractérise ces divers artefacts, c'est que l'automatisme y est caché, mis à profit
par des castes religieuses pour assurer leur pouvoir sur le peuple comme sur les souverains. [3]

L’horloge

C'est en 246 avant J.C. que nous trouvons la trace du premier inventeur d'envergure, un dénommé
Ctésibios qui habite la ville d'Alexandrie. Ctésibios est parvenu à créer une horloge si précise que
son cadran fait exactement un tour par année solaire ! Pour la première fois, il existe une parfaite
concordance entre un instrument de mesure humain et un phénomène issu du monde physique
extérieur. [3]

Figure 1.1 L’horloge de Ctésibios

Des automates de l'orient aux jacquemarts européens

Les arabes sont les premiers à mettre en pratique à une grande échelle les techniques décrites par
le mathématicien et mécanicien grec Héron d'Alexandrie (et aussi par Phylon de Byzance). Dès
809, Charlemagne reçoit de la part du sultan Haroun Al Rachid un automate mécanique. [3]

Puis, lors des huit expéditions en Orient menées à l'occasion des Croisades - de 1096 à 1291 - les
européens découvrent de visu l'étonnant raffinement des horloges à eau réalisées par Al Jazari pour
le compte de ce même Haroun Al Rachid.

Pour obtenir un écoulement constant de l'eau, Al Jazari a développé un système d'une rare
ingéniosité, inspiré d'un système inventé par Archimède. La plus grande de ses horloges mesure 3,3
mètres de hauteur et 1,35 mètre de largeur. [3]

3
Figure 1.2 L’automate d’Al Jazari

Vers l'âge d'or des automates

Le 18ème siècle apparaît comme l'âge d'or des automates. L'un des grands inventeurs d'engins
mécaniques de l'époque est le protégé du roi Louis XV, Jacques de Vaucanson (1709 - 1792). Il
développe un " canard mécanique " qui force l'admiration. Celui ci " allonge le cou pour aller
prendre le grain dans la main, l'avale, le digère " Après avoir transformé l'aliment en bouillie, il le
rejette par les voies ordinaires, pleinement digéré. Les créations que réalise Vaucanson tel le joueur
de flûte qui exécute onze airs différents et aussi celle de ses disciples séduisent l'Europe entière et
s'exportent aux Etats-Unis. [3]

Figure 1.3 Le canard développé par Jacques de Vaucanson

La première machine programmable

La mode veut que l'on s'habille à la chinoise, avec des tenues de soie bardées de motifs complexes.
Pour les tisserands lyonnais, la réalisation de telles étoffes représente un casse-tête de taille.

Basile Bouchon se penche sur le problème, et il a réussi de développé une machine à tisser dont
son mécanisme utilise une bande de papier perforé pour contrôler le passage des aiguilles dans le
tissu. Ce procédé mis au point en 1729 est automatisé par Vaucanson en 1745.

Le tisserand Joseph-Marie Jacquard a ensuite l'idée de séparer les cartes perforées portant le
modèle à réaliser, de la machine elle-même.

4
Produit en milliers d'exemplaires, le métier à tisser Jacquard qu'il inaugure en 1801 devient la
première machine automatisant le traitement de l'information et opérant une distinction entre la
machine et le programme qu'elle utilise. Il ouvre ainsi la voie aux ordinateurs et robots capables
d'opérer par eux-mêmes. [3]

Figure 1.4 Machine à tisser

L'ordinateur, potentielle intelligence du robot ?

Niels Bohr a décrit dans ses travaux publiés vers 1913 que l'électron peut déplacer d'un atome à
l'autre une vitesse vertigineuse. D'où l'idée de créer des circuits exploitant cette incroyable mobilité.
En 1937, Turing énonce les principes d'une machine qui calculerait à la vitesse de l'électronique, et
serait donc capable de traiter d'énormes volumes d'informations codées sous la forme booléenne (0
et 1).L'arrivée des ordinateurs est appelée à jouer un rôle majeur dans l'élaboration des machines
intelligentes que sont les robots.

Sous l'impulsion de Turing, un premier ordinateur apparaît en 1943. Sa puissance de calcul est
mise à contribution dans la guerre et joue un rôle décisif en facilitant le décryptage du code Enigma
mis au point par les nazis pour leurs échanges de messages. [3]

Figure 1.5 Le premier ordinateur

Le premier bras télé-opéré

C'est en Lorraine en 1954, à Argonne qu'un chercheur du nom de Raymond Goertz a l'idée de
rationaliser les bras de télé-opération en assujettissant leurs articulations à des moteurs électriques.
Grâce à un tel système, l'opérateur peut désormais se trouver à plusieurs centaines de mètres du lieu

5
où il manipule des éléments dangereux : les commandes qu'il transmet à la pince sont transmises
par les fils électriques. [3]

3. Définition
Écrivain tchèque, Karel Capek, dans son drame, introduit le mot robot au monde en 1921. Il est
dérivé du mot tchèque robota qui signifie "travailleur forcé". Isaac Asimov l'écrivain russe de la
science-fiction, a inventé le mot robotique dans son histoire "Habillage", publié en 1942, pour
désigner la science consacrée à l'étude des robots. [5]

Avant définir qu'est ce qu'un robot nous citerons les trois lois qui ont été développés par Isaac
Asimov, et qui sont régissant le comportement d'un robot

Les trois lois de la robotique

 Un robot ne peut blesser un humain ni, par son inaction, permettre qu’un humain soit blessé.
 Un robot doit obéir aux ordres donnés par les humains, sauf si de tels ordres se trouvent en
contradiction avec la première loi.
 Un robot doit protéger sa propre existence aussi longtemps qu’une telle protection n’est pas
en contradiction ni avec la première et/ou ni avec la deuxième loi. [6]

Le robot

C'est une machine pouvant manipuler des objets en réalisant des mouvements variés dictés par un
programme aisément modifiable.

Programmer un robot consiste, dans ut premier temps, à lui spécifier la séquence des
mouvements qu'il devra réaliser.

Certains robots sont dotés de "sens" ; c'est-à-dire d'un ensemble plus ou moins important
d'instruments de mesure et d'appréciation caméra, thermomètre, télémètre, ...) permettant au
programme du robot de décider du mouvement le mieux adapté aux conditions extérieures. Par
exemple: si un robot mobile muni d'une caméra ut amené à se déplacer dans un local inconnu, on
peut le programmer pour qu'il contourne tout obstacle qui entraverait sa route.

On essaie également de doter des robots d'un dispositif d'intelligence artificielle afin qu’ils
puissent faire face a des situations imprévues et nouvelles (le robot pourrait acquérir une certaine
"expérience").

Figure 1.6 Les différents types des robots

6
4. Les composants de Robots
Un robot, en tant que système, se compose des éléments, qui sont intégrés ensemble pour former
un ensemble. La plus par des robots contient les éléments suivants:

4.1. Manipulateur: c’est le corps principal du robot qui comprend les jonctions, les articulations, et
d'autres éléments de structure du robot. Il convient de noter ici que le manipulateur seul n’est pas un
robot. [11]

Figure 1.7 Un bras manipulateur

4.2. Effecteur finale: cette partie est reliée à la dernière jonction (main) d'un manipulateur qui gère
généralement les objets, établit des connexions à d'autres machines ou effectue les tâches requises.
[11]

Figure 1.8 Effecteur finale d’un manipulateur

4.3. Actionneurs: les actionneurs sont les «muscles» de manipulateurs. Le contrôleur envoie des
signaux aux actionneurs, qui, à son tour, déplacent les articulations du robot et des jonctions, les
types communs des actionneurs sont les servomoteurs, les moteurs pas à pas, les actionneurs
pneumatiques et les vérins hydrauliques. Les actionneurs sont sous le contrôle du contrôleur. [11]

Figure1.9 Différents actionneurs d’un robot

4.4. Capteurs: les capteurs sont utilisés pour recueillir des informations sur l'état interne du robot
ou pour communiquer avec l'environnement extérieur. Comme chez l'humain, le dispositif de
commande de robot doit connaître l'emplacement de chaque lien du robot afin de connaître la
configuration du robot. Toujours comme vos principaux sens de la vue, le toucher, l'ouïe, le goût, et

7
la parole, les robots sont équipés de dispositifs sensoriels externes comme un système de vision, le
toucher et les capteurs tactiles, synthétiseur de parole, et grâce à eux le robot peut communiquer
avec le monde extérieur. [11]

Figure 1.10 Différents capteurs d’un robot

4.5. Contrôleur: le contrôleur est plutôt proche de votre cervelet; même si elle n'a pas la puissance
du cerveau; il contrôle toujours vos mouvements. Le contrôleur reçoit les données de l'ordinateur (le
cerveau du système), commande les mouvements des actionneurs, et coordonne les mouvements
avec les informations envoyées par les capteurs.

4.6. Processeur: le processeur est le cerveau du robot. Il calcule les mouvements des articulations
du robot, détermine combien et à quelle vitesse chaque joint doit se déplacer pour atteindre
l'emplacement et la vitesse souhaitée, et supervise les actions coordonnées du contrôleur et les
capteurs. Dans certains systèmes, le contrôleur et le processeur sont intégrés ensemble en une seule
unité, et dans d'autres cas, ce sont des unités séparées. [11]

Figure 1.11 Un contrôleur utiliser pur commander un robot

4.7. Logiciel: trois groupes de logiciels sont utilisés dans un robot. L'un est le système
d'exploitation qui exploite le processeur. Le second est le logiciel robotique qui calcule la motion
nécessaire de chaque joint du robot basée sur des équations cinématiques. Ces informations sont
envoyées au dispositif de commande. Ce logiciel peut être à différents niveaux, de la langue de la
machine aux langues sophistiqués utilisés par les robots modernes. Les troisième groupes est la
collection d'application - orientée les routines et les programmes développés pour utiliser le robot
ou ses périphériques pour des tâches spécifiques telles que l'assemblage, le chargement de
machines, la manutention et les routines de vision. [11]

8
Figure1.12 Le logiciel qui commande le robot

5. Les types des robots


Il existe deux grandes familles de robots sont :

 Les robots manipulateurs.


 Les robots mobiles.

5.1. Les robots manipulateurs


Un robot manipulateur est en forme d’un bras et se composent d'un certain nombre de segments
qui est conçu pour manipuler ou déplacer des matériaux, outils et pièces sans contact humain direct.
Ils sont des dispositifs qui permettent aux humains d'interagir avec des objets dans un
environnement en toute sécurité. Les robots manipulateurs sont utilisés dans des applications
industrielles pour s’effectuer efficacement des tâches telles que l'assemblage, soudage, traitement de
surface, et le forage.

Les types des robots manipulateurs

Les robots manipulateurs viennent sous plusieurs formes. Les formes se répartissent en en cinq
grandes catégories :

 Robots cylindriques
 Robots rectilignes
 Robots sphériques
 Robots articulés
 Robots SCARA

a) Robots cylindriques

Le robot cylindrique a deux axes de mouvement, un pour le mouvement en haut et bas. La rotation
se fait par la jonction à la base. De plus, le bras horizontal peut se déplacer à l'intérieur et à
l'extérieur, ce qui donne un troisième axe de mouvement limitée. [9]

9
Figure 1.13 L’espace de travaille de robot cylindrique

b) Robots rectilignes

Les robots rectilignes a trois axes de mouvement (x, y, z). Pour cette raison, le robot rectiligne est
parfois appelé Robot cartésien. Ces robots sont exploités par vérin pneumatique. [9]

Figure 1.14 L’espace de travaille de robot rectiligne

c) Robots sphériques

Le robot sphérique est de grande taille avec un bras télescopique qui assure un mouvement à
l'intérieur ou à l'extérieur. Les mouvements de base du robot sphérique sont de rotation (à la base) et
angulairement en haut ou en bas (sur le bras). [9]

Figure 1.15 L’espace de travaille de robot sphérique

d) Robots articulés

Le bras articulé du robot ressemble à un bras humain. Il se compose de deux éléments, nommés
l'avant-bras et le bras supérieur. Ce type de robot n’a généralement pas besoin d'un lieu séparé. [10]

10
Figure 1.16 L’espace de travaille de robot articulé

e) Robots SCARA

Un robot SCARA est défini dans la norme ISO 8373: 1994, No.3.15.6, en tant que «robot comporte
deux liaisons pivots parallèles pour fournir conformément à un plan sélectionné».et peut être
considérée comme un cas particulier d'un robot cylindrique. Le terme «SCARA» signifie «Selective
Compliance Arm for Robot Assembly». (Autre interprétation comprennent «Selective Compliance
Articulated for Robot Assembly».). [8]

Figure 1.17 L’espace de travaille de robot SCARA

5.2. Les robots mobiles


Un robot mobile est celui qui peut se déplacer dans son environnement de façon indépendante.
Pour ce faire, le robot doit pouvoir naviguer, et la portée et la précision de navigation requise varie
en fonction de la taille du robot et du type de sa tâche.

5.2.1. L'architecture des robots mobiles


L'architecture des robots mobiles se structure en quatre éléments :

 La structure mécanique et la motricité


 Les organes de sécurité
 Le système de traitement des informations et gestion des tâches.
 Le système de localisation.

11
Figure 1.18 Architecture d’un robot mobile

5.2.2. Les robots à roues


Il existe plusieurs classes de robots à roues déterminées, principalement, par la position et le
nombre de roues utilisées.

Nous citerons ici les quatre classes principales de robots à roues.

a) Robot unicycle

Un robot de type unicycle est actionné par deux roues indépendantes, il possède éventuellement
des roues folles pour assurer sa stabilité. Son centre de rotation est situé sur l'axe reliant les deux
roues motrices.

C'est un robot non-holonome, en effet il est impossible de le déplacer dans une direction
perpendiculaire aux roues de locomotion.

Sa commande peut être très simple, il est en effet assez facile de le déplacer d'un point a un autre
par une suite de rotations simples et de lignes droites. [7]

Figure1.19 Robot de type unicycle

b) Robot tricycle

Un robot de type tricycle est constitué de deux roues fixes placées sur un même axe et d'une roue
centrée orientable placée sur l'axe longitudinal. Le mouvement du robot est donné par la vitesse des
deux roues fixes et par l'orientation de la roue orientable. Son centre de rotation est situé à
l'intersection de l'axe contenant les roues fixes et de l'axe de la roue orientable.

12
C'est un robot non-holonome. En effet, il est impossible de le déplacer dans une direction
perpendiculaire aux roues fixes. Sa commande est plus compliquée. Il est en général impossible
d'effectuer des rotations simples à cause d'un rayon de braquage limité de la roue orientable. [7]

Figure1.20 Robot de type tricycle

c) Robot voiture

Un robot de type voiture est semblable au tricycle, il est constitué de deux roues fixes placées sur
un même axe et de deux roues centrées orientables placées elles aussi sur un même axe.

Le robot de type voiture est cependant plus stable puisqu'il possède un point d'appui
supplémentaire.

Toutes les autres propriétés du robot voiture sont identiques au robot tricycle, le deuxièmes
pouvant être ramené au premier en remplaçant les deux roues avant par une seule placée au centre
de l'axe, et ceci de manière à laisser le centre de rotation inchangé. [7]

Figure1.21 Robot de type voiture

d) Robot omnidirectionnel

Un robot omnidirectionnel est un robot qui peut se déplacer librement dans toutes les directions.
Il est en général constitué de trois roues décentrées orientables placées en triangle équilatéral.

L'énorme avantage du robot omnidirectionnel est qu'il est holonome puisqu'il peut se déplacer
dans toutes les directions. Mais ceci se fait au dépend d'une complexité mécanique bien plus grande.
[7]

13
Figure1.22 Robot de type omnidirectionnel

Comparaison des différents types

Nous pouvons observer dans le tableau ci-dessous un récapitulatif des avantages et des
inconvénients des différents types de robots à roues

Tableau 1.1 Les avantages et des inconvénients des différents types de robots à roues

Type du robot Avantage Inconvénient


* Stable * Non-holonome
unicycle * Rotation sur soi-même
* Complexité mécanique faible
* Complexité mécanique * Non-holonome
Tricycle modérée * Peu stable
* Pas de rotation sur soi-même
* Stable * Non-holonome
Voiture * Complexité mécanique * Pas de rotation sur soi-même
modérée
* Holonome * Complexité mécanique
Omnidirectionnel * Stable importante
* Rotation sur soi-même

6. Domaine d’utilisation des robots


Les robots industriels : robots industriels sont des robots utilisés dans un environnement de
fabrication industrielle. Ils sont utilisés dans la fabrication des automobiles, des composants et des
pièces électroniques, des médicaments et de nombreux produits

Robots domestiques ou ménagers : Robots utilisés à la maison. Ce type de robots comprend de


nombreux appareils très différents, tels que les aspirateurs robotiques, robots nettoyeurs de piscines,
balayeuses, nettoyeurs gouttières et autres robots qui peuvent faire différentes tâches. En outre,
certains robots de surveillance et de téléprésence pouvaient être considérées comme des robots
ménagers se il est utilisé dans cet environnement.

Robots en médecine et chirurgie : Les robots semblent avoir de l'avenir à l'hôpital. Robodoc aide
à réaliser certaines opérations de chirurgie. Le robot infirmier est encore en projet. Le
cybersquelette HAL aide les personnes à se déplacer. Et le robot patient permet aux futurs
chirurgiens dentistes d’apprendre à soigner sans faire de dégâts…

Le système chirurgical Da Vinci : Le robot chirurgien permet d’opérer à distance, soit dans la même
pièce avec une machine comme intermédiaire, soit d’un endroit très éloigné, ce qui peut être très
utile souvent.

14
Figure 1.23 Robot chirurgical Da Vinci

Les infirmiers du futur : Les infirmiers qui portent et déplacent les malades seront des robots. En
fait, ils ne sont pas prévus pour un avenir si lointain: ils fonctionnent déjà!

Le robot infirmier peut prendre un patient dans ses bras, le porter et le déposer dans un fauteuil.

Figure 1.24 Robot infirmier RIBA

Le robot patient : L'actroïde Simroid assez réaliste réagit quand l’opérateur le touche à un endroit
sensible. Il permet ainsi de réaliser un apprentissage du métier sans frais.

Hanako Showa est une initiative similaire. Grâce à des capteurs implémentés dans ses dents
artificielle, le robot peut réagir aux actes du praticien novice, émettre des gémissements ou bouger
les bras quand on lui "fait mal". Il peut même communiquer grâce à un procédé de synthèse vocal.

Figure 1.25 Robot patient Hanako Showa

7. Avantages et inconvénients des robots


Un système robotique consiste non seulement des robots mais aussi d'autres dispositifs et
systèmes qui sont utilisés avec le robot pour effectuer la tâche nécessaire. Les avantages des robots
sont: [12]

Robotique et automatisation peut dans de nombreuses situations d'accroître la productivité, la


sécurité, l'efficacité, la qualité et la cohérence des produits.

Les robots peuvent travailler dans un environnement dangereux, sans le besoin de soutien de la vie,
ou les préoccupations concernant la sécurité.

Robots n’ont pas besoin de l'éclairage, la climatisation, de ventilation et de protection contre le


bruit.

15
Robots travailler continuellement, sans ressentir une fatigue ou l'ennui, et ne nécessitent pas une
assurance médicale ou de vacances.

Les robots sont de précision répétable à tous les moments, sauf si quelque chose arrive à eux ou ils
s’usent.

Les robots peuvent être beaucoup plus précis que les humains. Précision linéaire d'un robot
typiquement est de 20 à 10 microns.

L'inconvénient des robots est qu'ils manquent de capacité de réagir en cas d'urgence, à moins que
les situations comprises et les réponses sont inclut dans le système. Les mesures de sécurité
nécessaires pour s’assurer qu'ils ne lèsent pas les opérateurs et n’endommagent les machines qui
travaillent avec eux. Inconvénients des robots comprennent: [12]

 Réponse inadéquate ou mal,


 Le manque de pouvoirs prendre une décision,
 Consommation de l'énergie
 Ils peuvent causer des dommages à des autres appareils, et la blessure de l'homme

Bien que les robots ont de bonnes certaines caractéristiques mais aussi ont ces caractéristiques
limités comme la capacité à degré de liberté, la dextérité, capteurs, système de vision et la réponse
en temps réel. Les robots sont coûteux en raison du: coût initial de l'équipement, le coût
d'installation, le besoin de périphériques, le besoin de formation et la nécessité de la
programmation.

16
8. Conclusion
A travers ce chapitre on peut dire que dans le cadre de la robotique, la robotique mobile joue un
rôle à part. Contrairement aux robots industriels manipulateurs qui travaillent de façon autonome
dans un grand nombre d’usines automatisées, les robots mobiles sont très peu répandus. Cette
situation n’est pas due au manque d’applications possibles, mais dés qu’on dispose de la mobilité,
on peut imaginer des robots facteurs, nettoyeurs, gardiens, démineurs, explorateurs, jardiniers et
beaucoup d’autres. La faible diffusion est surtout due au fait que ces tâches ont une complexité bien
supérieure à celles effectuées par des robots manipulateurs industriels. Le monde dans lequel un
robot mobile doit se déplacer est souvent très vaste, partiellement ou totalement inconnu,
difficilement caractérisable géométriquement et ayant une dynamique propre.

17
Chapitre 2 :
Capteurs et Actionneurs
1. Introduction
Ce chapitre discute sur les composants du robot. Se n'est pas tout les composants qui sont
mentionnés dans le chapitre précédant, mais plus précisément, le chapitre traite les capteurs,
actionneurs, et d'autre concepts sur ces deux termes.

Le système de commande est un système dynamique qui contient un dispositif de commande en


tant que partie intégrante. Le but du contrôleur est de générer des signaux de commande, qui
conduira le processus pour être contrôlé. Les actionneurs sont nécessaires pour effectuer les actions
de contrôle, les capteurs et transducteurs aussi sont nécessaires pour mesurer les signaux de sortie
(réponses de processus) et de mesurer les signaux d'entrée pour la commande anticipatrice, et pour
diverses autres fins). Parmi les différents types et les niveaux de signaux sont présents dans un
système de contrôle, la modification du signale (y compris le conditionnement du signal et la
conversion du signal) est en effet joue un rôle crucial à tout système de contrôle. En particulier, la
modification du signal est une considération importante dans l'interfaçage des composants. Il est
clair que le sujet du système de contrôle doit contenir des capteurs, des transducteurs, actionneurs,
modification du signal, et l'interconnexion des composants. En particulier, le sujet de l'identification
des composants du système de commande doit respecter les fonctions, le fonctionnement et
l'interaction, la bonne sélection et l'interfaçage de ces composants pour diverses applications de
contrôle. La sélection des paramètres (y compris les réglages du système) aussi est une étape
importante. La conception est une partie nécessaire de l'instrumentation du système de contrôle, car
c’est elle qui nous permet de construire un système de contrôle qui répond aux exigences de
performance "on commence, peut-être, avec des composants de base tels que les capteurs, les
actionneurs, les contrôleurs, les compensateurs, et appareils de modification de signal."

Les ingénieurs de contrôle devraient être en mesure d'identifier ou de sélectionner des


composants, en particulier les capteurs et actionneurs, pour un système de contrôle, le modéliser et
analyser les différents composants et les systèmes globaux, et de choisir les valeurs des paramètres
afin que le système peut effectuer certaines fonctions en conformité avec les spécifications.

L’identification, l’analyse, la sélection correspondante et l’interfaçage des composants, et le


réglage du système intégré (cet est à dire, le réglage des paramètres pour obtenir la réponse requise
du système) sont des tâches essentielles dans l'instrumentation et la conception du système de
contrôle. [13]

Les capteurs et les actionneurs utilisés dans certain domaine sont indiqués dans le tableau suivant:
[13]

Tableau 2.1 quelque domaine d’utilisation des capteurs et des actionneurs

processus Les capteurs utilisés Les actionneurs utilisés


Avion déplacement, vitesse, accélération, Moteurs à courant continu,
l'altitude, la position, force, pression, moteurs pas à pas, relais,
température, débit de fluide, la actionneurs de vannes,
tension, le courant, le système de pompes, sources de chaleur,
positionnement mondial (GPS) les moteurs à réaction
Automobile déplacement, vitesse, force, pression, Moteurs à courant continu,
température, débit de fluide, niveau moteurs pas à pas, les relais,
de liquide, la tension, le courant actionneurs de vannes, les

18
pompes, les sources de
chaleur
Système de pression, température, débit de fluide Moteurs, pompes, sources de
chauffage chaleur
domestique
Fraiseuse déplacement, vitesse, force, pression, Moteurs à courant continu,
température, la tension, le courant, moteurs à courant alternatif
l’acoustique
Robot image optique, déplacement, vitesse,
Moteurs à courant continu,
force, la tension, le courant, couple
moteurs à courant alternatif,
motrice des actionneurs hydrauliques,
des servomoteurs
Four de séchage du La température, l'humidité relative, Moteurs à courant continu,
bois taux d'humidité et le débit d'air moteurs à courant alternatif,
pompes, sources de chaleur

Figure 2.1 Les différents étages d’un system automatisé

2. Les capteurs
Avant de donner la définition d'un capteur, il est nécessaire de connaître quelques définitions de
métrologie.

Le mesurande : c'est l'objet de la mesure ou plus simplement la grandeur à mesurer.

Le mesurage : c'est l'ensemble des opérations pour déterminer la valeur du mesurande.

La mesure c'est le résultat d’u mesurage. Autrement dit c'est la valeur du mesurande.

2.1. Définition d’un capteur


Un capteur est un dispositif convertissant une grandeur physique analogique (pression,
température, déplacement, débit,…) en un signal analogique rendu transmissible et exploitable par
un système de conditionnement (courant électrique, radiation lumineuse, radiofréquence). Le
capteur est la partie d’une chaine de mesure qui se trouve au contact direct du mesurande.

19
Dans l’immense majorité des cas, le signal de sortie est électrique en raison de la facilité de
transmission de l’information sous cette forme (câblage), même si les signaux optiques transmis par
fibre sont de plus en plus fréquents. La tension ou l’intensité de ce signal est alors l’image de
mesurande par une loi continue qu’on souhaite idéalement linéaire ou affine, telle que : [14]

Figure 2.2 Chaine d’action d’un capteur

2.2. Chaine de mesure


Généralement, le signal de sortie de capteur n’est pas directement utilisable. On appelle chaine de
mesure l’ensemble des circuits ou appareils qui amplifient, adaptent, convertissent, linéarisent,
digitalisent le signal avant sa lecture sur le support de sortie.

Pour obtenir une image d’une grandeur physique, la chaine de mesure peut faite intervenir
plusieurs phénomènes différents. Par exemple, la mesure d’un débit peut se faire en plusieurs
étapes :

Transformation du débit en une pression différentielle.

Transformation de la pression différentielle en la déformation mécanique d’une membrane.

Transformation de la déformation mécanique en une grandeur électrique (à l’aide d’un


piézoélectrique) via un circuit électrique associé.

2.3. Classification des capteurs


On peut classer les capteurs de plusieurs manières :

 Par le mesurande qu'il traduit (capteur de position, de température, de pression, etc.)


 Par son rôle dans le processus industriel (contrôle de produit finis, de sécurité, etc.)
 Par le signal qu'il fournit en sortie qui peut être numérique, analogique, logique ou digital.
 Par leur principe de traduction du mesurande (capteur résistif, piézoélectrique, etc.)
 Par leur principe de fonctionnement : capteur Actif ou Passif.

Toutes ces classifications permettent d'avoir une vue d'ensemble des capteurs et bien sur aucune des
méthodes de classification n'est meilleure que l'autre car toutes présentent des avantages et des
inconvénients.

20
2.3.1. Capteur actif
Fonctionnant en générateur, un capteur actif est généralement fondé dans son principe sur un
effet physique qui assure la conversion en énergie électrique de la forme d’énergie propre au
mesurande : énergie thermique, mécanique ou de rayonnement. [15]

2.3.2. Capteur passif


Il s’agit d’impédance dans l’un de ce paramètres déterminants est sensible au mesurande. [15]

2.3.3. Capteur composite


Un capteur composite est un capteur constitué d'un corps d'épreuve et d'un capteur actif ou passif.
Le corps d'épreuve quant à lui est un capteur qui soumis au mesurande donne une grandeur
physique non électrique appelée mesurande secondaire qui elle va être traduit en une grandeur
électrique par un capteur. Le schéma d'un capteur composite est le suivant :

Figure 2.3 Schéma d'un capteur composite

2.3.4. Capteur intégré


Un capteur intégré est un capteur qui utilise la microélectronique. Ce capteur est constitué d'une
plaque en silicium dans lequel on a fixé le capteur, le corps d'épreuve si besoin et d'autres
composants électroniques qui peuvent servir à linéariser, amplifier, convertir le courant en tension,
etc.

Ce type de capteur est très utile vu qu'il fournit un signal linéaire avec une grande sensibilité, une
miniaturisation et un coût faible.

2.4. Les principes physiques des capteurs


2.4.1. Les principes de fonctionnement des capteurs actif [15]
Effet thermoélectrique : un circuit formé de deux conducteurs de nature chimique différente dont les
jonctions sont à des températures T1 et T2 est le siège d’une force électromotrice .

Effet pyroélectrique : certains cristaux dits pyroélectrique, le sulfate de triglycine par exemple, ont
une polarisation électrique spontanée qui dépend de leur température ; ils portent en surface des
charge électrique proportionnelles à cette polarisation et de signes contraires sur les faces opposées.

Effet piézoélectrique : l’application d’une force et plus généralement d’une contrainte mécanique à
certains matériaux dits piézoélectriques, le quartz par exemple, entraine une déformation qui suscite
l’apparition de charges électriques égales et de signes contraires sur les faces opposées.

Effet d’induction électromagnétique : lorsqu’un conducteur se déplace dans un champ d’induction


fixe, il est le siège d’une force électromotrice proportionnelle au flux coupe par unité de temps,
donc à sa vitesse de déplacement. De même, lorsqu’un circuit fermé est soumis à un flux
d’induction variable du fait de son déplacement ou de celui de la source de l’induction (aimant par

21
exemple), la force électromotrice dont il est le siège est égale et de signe contraire à la vitesse de
variation du flux d’induction.

Effets photoélectrique : on en distingue plusieurs, qui différent par leur manifestations mais qui ont
pour origine commune la libération de charge électrique dans la matière sous l’influence d’un
rayonnement lumineux ou plus généralement électromagnétique, dont la longueur d’onde est
inférieure à une valeur seuil, caractéristique du matériau.

Effet photoémissif : les électrons libérés sont émis hors de la cible éclairée et forment un courant
collecté par application d’un champ électrique.

Effet photovoltaïque : des électrons et des trous sont libérés au voisinage d’une jonction de semi-
conducteurs P et N illuminée ; leur déplacement dans le champ électrique de la jonction modifie la
tension à ses bornes.

Effet photoélectromagnétique : l’application d’un champ magnétique perpendiculaire au


rayonnement provoque dans le matériau éclairé l’application d’une tension électrique dans la
direction normale au champ et au rayonnement.

Effet Hall : un matériau généralement semi-conducteur et sous forme de plaquette, est parcouru par
un courant I et soumis à une induction B faisant un angle avec le courant. Il apparait, dans une
direction perpendiculaire à l’induction et au courant une tension qui a pour expression :

Où dépend de matériaux et des démentions de la plaquette.

Figure 2.4 Quelque effet physique d’un capteur actif : a) thermoélectrique, b) pyroélectrique, c)
piézoélectrique, d) indiction électromagnétique, e) photoélectricité, f) effet Hall

2.4.2. Les principes de fonctionnement des capteurs passif [15]


Le capteur passif est une impédance dans l’un de ces paramètres déterminants est sensible au
mesurande. Dans l’expression littérale d’une impédance sont présents des termes liés :

22
D’une part à sa géométrie et ses dimensions. D’autres part aux propriétés électriques des
matériaux : résistivité , perméabilité magnétique , constante diélectrique .

 La variation d’impédance peut donc être due à l’action de mesurande :


 Soit sur les caractéristiques géométriques ou dimensionnelles.
 Soit sur les propriétés électriques des matériaux.
 Soit plus rarement sur les deux simultanément.
 La Variation des paramètres géométriques ou dimensionnels :
 Si le capteur contient un élément mobile : chaque position de l’élément mobile correspond
une valeur de l’impédance et la mesure de celle-ci permet de connaitre la position (c’est le
principe de grand nombre de capteurs de position ou de déplacement : potentiomètre,
inductance à noyau mobile, condensateur à armature mobile).
 Si le capteur contient un élément déformable : la déformation résulte de forces ou de
grandeurs s’y ramenant (pression, accélération) applique soit directement soit indirectement
au capteur : armature d’un condensateur soumise à une pression différentielle jauge
d’extensomètre liée rigidement à une structure soumise à contrainte. La modification
d’impédance qu’entraine la déformation du capteur est liée aux efforts auxquels celui-ci ou la
structure intermédiaire se trouve soumis et elle en assure une traduction électrique.

Les propriétés électrique des matériaux, selon la nature des ces derniers, peuvent être sensibles à
des grandeurs physiques variées : température, éclairement, pression, humidité… Si l’une de ces
grandeurs est susceptible d’évolution, toutes les autres étant maintenues constantes il s’établit une
correspondance univoque entre la valeur de cette grandeur et celle de l’impédance du capteur.

Le tableau suivant est un aperçu des divers mesurande susceptibles de modifier les propriétés
électriques de matériaux.

Tableau 2.2 L’influence des mesurande sur les propriétés électriques de matériaux.

Mesurande Caractéristique électrique Types de matériaux utilisés


sensible
Température Résistivité Métaux, platine, nickel,
cuivre, semi-conducteurs
Très basse température Constante diélectrique Verres
Flux de rayonnement optique Résistivité Semi-conducteurs
Déformation Résistivité Alliage de nickel, silicium
dopé
Perméabilité magnétique Alliages ferromagnétiques
Position (aimant) Résistivité Matériaux
magnétorésistances :
bismuth, antimoniure
d’indium
Humidité Résistivité Chlorure de lithium
Constante diélectrique Alumine, polymères
Niveau Constante diélectrique Liquides isolants

Remarque : l’impédance d’un capteur passif et ses variations ne sont pas mesurable qu’en intégrant
le capteur dans un circuit électrique, par ailleurs alimenté et qui est son conditionneur.

23
2.5. Caractéristiques métrologique
Il existe plusieurs propriétés associées à un capteur qui sont critiques pour les performances du
capteur. Les plus importantes sont :

 Limites d'utilisation d'un capteur et étendue de mesure.


 Caractéristique entrée-sortie
 Sensibilité
 Résolution
 Finesse
 Fidélité - Justesse - Précision
 Hystérésis ou réversibilité
 Reproductibilité ou répétabilité
 Temps de réponse
2.5.1. Limites d'utilisation d'un capteur et étendue de mesure
Les capteurs doivent être utilisés correctement en respectant les consignes du conducteur. On
peut ainsi définir quatre domaines d’utilisation :

Le domaine nominal ou domaine normal des valeurs du mesurande.

Le domaine de non détérioration dans lequel se produit une altération réversible des propriétés du
capteur.

Le domaine de détérioration ou de non destruction dans lequel il se produit une altération


irréversible et permanente du capteur.

Le domaine de destruction ou le capteur est hors d’usage.

Figure 2.5 Les trois domaines de fonctionnement d'un capteur

L’étendu de mesure : l’étendu de mesure d’un capteur correspond à l’intervalle entre la valeur
minimale et la valeur maximale du mesurande.

2.5.2. Caractéristique entrée-sortie


Elle renseigne sur l’évolution de grandeur de sortie en fonction de la grandeur d’entrée. [18]

2.5.3. Sensibilité
C’est la pente de la tangente à la courbe issue de la caractéristique de capteur. [18]

24
Figure 2.6 La sensibilité d’un capteur

2.5.4. Résolution
Résolution : correspond à la plus petite variation de la grandeur physique à mesurer que le capteur
est susceptible de déceler. [18]

2.5.5. Finesse
C’est l'aptitude d'un capteur à délivrer, pour une même valeur de la grandeur mesurée, des mesures
répétitives concordantes entre elles.

2.5.6. Fidélité - Justesse – Précision


Fidélité : c’est l’aptitude d’un capteur à délivrer le même résultat lors d’une mesure répétitive de la
même grandeur. [18]

Justesse : indique la fiabilité ou l'exactitude d'un résultat; il peut aussi être définie comme la fraction
de résultats valides obtenus à partir de tous les résultats. [21]

Précision : indique le plus petit changement qui peut être enregistrée avec précision. [20]

2.5.7. Hystérésis
Hystérésis: d'un capteur peut produire des résultats différents lors de la mesure de la même quantité
en fonction de la "direction" dans laquelle la valeur a été approchée. [19]

Figure 2.7 hystérésis d’un capteur

25
2.5.8. Reproductibilité (répétabilité)
C’est la capacité du capteur pour produire la même sortie lorsque la même entrée est appliquée. [17]

2.5.9. Temps de réponse - Le temps de récupération


Le temps de réponse: est le temps qu'il faut pour que le capteur atteindre 90% de sa valeur à l'état
d'équilibre après l'introduction de la mesurande. [16]

Figure 2.8 temps de réponse d’un capteur

Le temps de récupération: est le temps qu'il faut au capteur d'être à moins de 10% de la valeur
qu'elle avait avant l'enlèvement de la mesurande. [16]

Figure 2.9 temps de récupération

2.6. Erreurs et incertitudes dans les capteurs


2.6.1. Les erreurs de mesure dans les capteurs
Les erreurs de mesure ont des causes systématiques que l'opérateur peut corriger ou non. Ces
erreurs ont des causes clairement identifiées et prévisibles.

L'erreur sur le zéro (zéro offset) : appelée aussi ‘dérive’ est généralement due au vieillissement des
composantes d'un capteur et aux variations de température. Elle se traduit par un décalage de la
grandeur de sortie indépendante du mesurande.

Figure 2.10 L’erreur du zéro

26
L'erreur liée à l’étalonnage : L'erreur liée à l'étalonnage du capteur est due à la qualité de l'opération
d’étalonnage. Si cette opération n'est pas effectuée correctement, cela se traduit par une erreur dans
la pente de la caractéristique du capteur. Il est recommandé de toujours étalonner un capteur avec
un étalon de référence au moins 4 fois plus précis.

Figure 2.11 L’erreur liée à l’étalonnage

Les erreurs dues aux grandeurs d'influence : Les grandeurs d'influence provoquent sur le capteur
des variations de ses caractéristiques métrologique. L'erreur sur le zéro mentionnée précédemment
est un très bon exemple de ces variations.

L'erreur sur la sensibilité est aussi une erreur due aux grandeurs d'influence. Toutes les grandeurs
physiques connues peuvent agir comme grandeur d'influence. Pour minimiser l'effet de ces
grandeurs d'influence, il faut utiliser soit la compensation, soit la stabilisation.

Les erreurs dues aux conditions d'alimentation et de traitement de signal : La grandeur de sortie
peut être fortement dépendante des conditions d'alimentation du capteur. L'alimentation du capteur
est dans certains cas une grandeur modifiante qui peut affecter la précision d'une mesure.

Les erreurs dues au mode d'utilisation : certaines erreurs sont simplement dues à une utilisation
incorrecte d'un capteur. Par exemple, on si utilise un capteur pas assez rapide dans un cas ou le
mesurande évolue de façon rapide.

2.6.2. Les incertitudes de mesure dans les capteurs


Les erreurs d'incertitude sont des erreurs de nature non-déterministes dues à des causes
accidentelles que l'opérateur ne peut corriger. Elles sont appelées parfois ‘erreurs aléatoires’

Les erreurs liées aux indéterminations intrinsèques d'un capteur : certaines erreurs aléatoires sont
liées à la non-connaissance de caractéristiques de capteurs. Ainsi, pour certains capteurs, on ne
connait pas de façon précise des paramètres comme la résolution, réversibilité, hystérésis,... Par
exemple, lorsque l'on achète un potentiomètre, on ne se pose pas de questions sur la résolution de
ce capteur.

Les erreurs dues à des signaux parasites de caractère aléatoire : le bruit électrique, si nuisible à la
qualité des mesures, est la source principale des signaux parasites. Ces signaux sont dus
généralement à des phénomènes d'induction, ce qui fait que l'on recommande de blinder les
conducteurs transportant les signaux de mesure.

Les erreurs de mesure dues aux grandeurs d'influence non-contrôlées : les grandeurs d'influence
non-contrôlées sont souvent sources d'erreur, car le corps d'épreuve d'un capteur est généralement
sensible à plus d'une grandeur physique.

27
2.7. Etalonnage des capteurs
L’étalonnage est la relation qui établit la relation entre le mesurande et la grandeur électrique de
sortie. Cette relation peut dépendre non seulement du mesurande mais aussi des grandeurs
d’influence. S’il n’y a pas de grandeurs d’influence, l’étalonnage est simple, dans le cas contraire il
est multiple.

2.7.1. Etalonnage simple


On distingue deux méthodes possibles :

L’étalonnage direct dans le quel les valeurs du mesurande sont issues d’étalons ou d’objets de
référence pour lesquels le mesurande est connu avec une incertitude donnée.

L’étalonnage par comparaison dans lequel on compare les mesures du capteur à étalonner avec
celles provenant d’un autre capteur lui-même préalablement étalonné et considéré comme étant la
référence, ce qui signifie que son étalonnage est raccordé à étalons et que l’incertitude
correspondante est connue.

2.7.2. Etalonnage multiple


L’existence des grandeurs d’influence susceptibles de varier au cours des mesures oblige à
paramétrer l’étalonnage pour différentes valeurs de ces grandeurs : c’est étalonne multiple.
Quelques cas particuliers d’étalonnages multiples méritent d’être mentionnés :

Pour les capteurs présentant une hystérésis, il est nécessaire de procéder à l’étalonnage par une
succession ordonnée et spécifiée des valeurs du mesurande.

Pour les capteurs de grandeurs dynamiques, if faut relever la réponse en fréquence pour un
mesurande d’amplitude fixée et la réponse en amplitude pour une fréquence fixée.

Dans certains cas, notamment pour beaucoup de capteurs mécaniques et thermiques, lorsque le
constructeur ne donne pas d’indication relative à l’usage du capteur, il est souvent souhaitable
d’effectuer l’étalonnage après son installation sur le site.

3. Les actionneurs
3.1. L’actionneur
Un actionneur est un dispositif qui transforme l’énergie délivrée par l’interface de puissance, en
énergie utilisable par les effecteurs de processus. Le schéma fonctionnel d’un actionneur ainsi que
les schémas des principaux actionneurs sont représentés à la figure ci-dessous. Les moteurs
électriques, les vérins pneumatiques ainsi que les éléments chauffants sont des exemples typiques
d’actionneurs utilisés en automatisation industrielle.

Les effecteurs : un effecteur est un dispositif qui transforme l’énergie délivrée par un actionneur,
en valeur ajoutée. Selon le cas, un effecteur peut être séparé ou non de l’actionneur. Quelques
exemples d’effecteurs rencontrés en milieu industriel sont : les ventilateurs, les broyeurs, les pinces
à outils de robots articulés, dispositifs de transfert de chaleur… [26]

28
Figure 2.12 Schéma fonctionnel et symboles des actionneurs

3.2. Mode de fonctionnement des actionneurs et des moteurs


Mode tout ou rien : l’actionneur ou le moteur est connecté à une alimentation hydraulique ou
pneumatique de pression constante ou à une alimentation électrique de tension et fréquence
constantes. Sa vitesse de déplacement ou de rotation dépend de son principe de fonctionnement et
des caractéristiques de son alimentation, mais aussi de la charge (frottement, couple d’usinage, etc.).
Non alimenté, il ne produit plus aucune force ou couple et se laisse entraine par la charge,
généralement, il s’arrête âpres un temps plus ou moins long sous l’effet des frottements, ou
soudainement sous l’action d’un frein mécanique. La commande est alors particulièrement simple à
réaliser, à l’aide d’un distributeur pour les entrainements pneumatiques ou hydraulique et d’un
interrupteur pour les entrainements électriques.

Mode contrôlé en vitesse : en ajustant la pression hydraulique ou pneumatique, la tension


électrique ou la fréquence, il est possible de modifier la vitesse d’un actionneur ou d’un moteur de
manière continue, au moins dans une certaine plage (par exemple de 20% à 100% de la vitesse
nominale). Toutefois la vitesse reste plus ou moins dépendante de la charge.

Mode réglé en vitesse : le principe de la régulation est illustré dans la figure ci-dessous :
l’opérateur ou le programme d’automate choisit une valeur de consigne en fonction de la
vitesse qu’il souhaite obtenir. La valeur réelle est mesurée et fournit le signal de contre-
réaction , qui est comparé à la valeur de consigne. La différence entre ces deux valeur est
appelée écart de régulation s’efforce de le minimiser en ajustant la grandeur de réglage et, par
l’intermédiaire de l’amplificateur de puissance, l’alimentation du moteur.

Figure 2.13 Principe de la commande de vitesse en boucle fermée

29
Mode servomoteur-réglé en position : en ajustant un capteur de position sur l’arbre du moteur ou
sur la charge en mouvement, il est possible de réaliser des déplacements point à point et d’arrêter le
moteur à des positions très précises.

Mode pas à pas : il est combine le mode tout ou rien et le mode servomoteur. L’actionneur
travaille bien en mode tout ou rien, mais il est alimenté par une succession d’impulsions. A chaque
impulsion, il avance d’une petite distance appelée pas ou incrément. La distance parcourue dépend
directement du nombre d’impulsions reçues. La vitesse dépend de la fréquence des impulsions. De
plus, lorsqu’il ne reçoit plus d’impulsions, un tel actionneur est tenu en place avec une certaine
force de maintien.

3.3. Les familles d’actionneurs


Actionneur pneumatique : les actionneurs pneumatiques sont utilisés principalement pour des
mouvements séquentiels simples ils utilisent de l’air comprimé à 6 bar et permettent de réaliser des
vérins dont la force peut atteindre 50000N. L’air est fourni par un compresseur, complété de filtres,
d’un séparateur d’eau et d’un déshuileur. Il est souvent produit pour tous les ateliers, et distribué à
toutes les machines. Les actionneurs sont généralement des vérins linéaires, mais aussi des moteurs
rotatifs. On utilise également des aspirateurs suceurs à vide pour saisir des objets. Ils sont
commandés en tout ou rein par des distributeurs, actionnés mécaniquement ou électriquement.

Actionneur hydraulique : un actionneur hydraulique est composé de deux parties : une partie vérin
et une partie valve. Dans un système à commande proportionnelle, on place dans l’étage de pilotage
(valve) une bobine (solénoïde) qui régule la pression du fluide proportionnellement à la consigne
électrique (courant tension). [27]

Figure 2.14 Actionneur hydraulique

Actionneur piézoélectrique : c’est un convertisseur électrique-mécanique non résonant qui est


généralement utilisé pour engendrer des microdéplacements. On les rencontre principalement en
microélectronique pour le positionnement des circuits intégrés et en microscopie à effet tunnel pour
cartographier les surfaces des matériaux. En fait, physiquement, tous les systèmes ont des
fréquences de résonance. [23]

Figure 2.15 Actionneur piézoélectrique

30
Actionneur électromécanique : est un transducteur assurant une conversion d’énergie et
d’information de la forme électrique à la forme mécanique. Un actionneur électromécanique est
aussi appelé moteur.

Selon les applications, l’aspect énergétique ou la qualité du signal prime. Le rendement énergétique
est parfois déterminant. Dans d’autres cas, c’est le caractère linéaire de la transformation qui
importe. Dans d’autre cas encore, c’est le temps de réaction ou la fréquence limite qui sont
déterminants. [22]

3.4. Les actionneurs électriques


3.4.1. Moteurs à courant continu
Moteur DC à aimant permanant :

Un moteur à courant continu à aimant permanent se compose de trois éléments essentiels :

Une partie fixe : l’inducteur (stator) constitué d’un aimant permanent.

Une partie mobile : l’induit (rotor) comportant une ou plusieurs bobines tournant dans le champ
magnétique crée par l’inducteur.

Le collecteur qui associé aux balais, permet de relier les enroulements du rotor à l’extérieur du
moteur.

Figure 2.16 Vue en couple simplifiée

Principe de fonctionnement :

Rappel : Un conducteur parcouru par un courant I et placé dans un champ magnétique B est soumis
à une force F appelé force de LAPLACE.

Figure 2.17 Perspective de l’induit simplifiée

31
Le sens de la force est donné par la règle des trois doigts de la main droite :

INdex INtensité / MAjeur Magnétique / pouCE forCE

Figure 2.18 Règle de la main droite

Les deux forces de LAPLACE qui s'exercent sur la spire créent un couple appelé couple
électromagnétique ( ) qui entraîne la rotation du rotor.

De plus, en tournant dans le champ magnétique uniforme , la spire parcourue par le courant
embrasse un flux qui varie dans le temps. D ‘après la loi de FARADAY, toute variation de flux à
travers une surface entraîne une force électromotrice ( ) induite. Donc une fem est induite le long
de chaque spire.

Pour inverser le sens de rotation, il suffit d’inverser le sens du courant dans la spire donc d’inverser
la polarité de la tension d’alimentation.

Le model électrique équivalant de l’induit :

R : Résistance des enroulements de l'induit (Ω).


E : Force électromotrice induite (V).
I : Courant traversant les spires de l’induit (A).
U : Tension d’alimentation de l’induit(V).
Equation électrique du moteur :

La force électromotrice E est proportionnelle à la vitesse de rotation du moteur Ω (rad/s).

: est une constante qui dépend de caractéristique de conception du moteur

Le courant est proportionnel au couple électromagnétique .

: est une constante

Remarque :

32
Couple moteur (couple utile) et couple de pertes:

Le couple électromagnétique n’est pas égal au couple moteur (ou couple utile )
disponible sur l’arbre du moteur. Il y a une perte de couple due aux frottements des diverses
pièces en rotation et aux pertes fer (courants de Foucault…). Pour un moteur donné est
constant :

Figure 2.19 Les couples d’un moteur

Couple résistant:

Le couple résistant est le couple qu’exerce sur l’arbre, la charge que le moteur doit entraîner en
rotation. Plus la charge est importante plus est important.

Bilan des puissances:

En multipliant par I des deux côtés du signe égal, l’équation électrique nous donne :

: Puissance électromécanique

: Puissance dissipée par effet Joule

: Puissance électrique fournie au moteur

En multipliant par des deux côtés du signe égal de l’équation on obtient :

: Pertes collectives

: Puissance électromécanique

: Puissance utile disponible sur l’arbre du moteur

Remarque :

Figure 2.20 Bilan de puissance

Le rendement :

33
Moteurs DC avec un autre mode d’excitation :

Le moteur à courant continu excité par des aimants permanents n'est pas le seul type possible.

Souvent on remplace les aimants par des électroaimants fixes (bobines convenablement alimentées
en courant continu). Les bobines sont appelées “bobines d’excitation” ou “bobines inductrices”. On
distingue généralement trois types de moteurs selon le branchement envisagé:

Moteur à courant continu à excitation séparée ou shunt : La tension appliquée à l’inducteur, donc le
courant d’excitation, est indépendante du courant d’induit, c’est-à-dire de la charge. Pour un moteur
à excitation séparée, l’inducteur possède son alimentation propre, ce qui est la configuration la plus
courante pour un moteur à courant continu. Pour un moteur shunt, l’inducteur est branché en
parallèle avec l’induit. [24]

Figure 2.21 a)Symbole d’un moteur à excitation indépendant ; b) à excitation shunt

Moteur à courant continu à excitation sérié : Moteur à courant continu est dit à excitation série
lorsque l’inducteur est branché en série avec l’induit.

Figure 2.22 Symbole d’un moteur à excitation série

Moteur-compound : Une bobine inductrice est raccordée directement à la source de courant, tandis
que la seconde bobine inductrice est raccordée en série au rotor. La tension aux bornes ne doit pas
dépasser 10 V.

Figure 2.23 Symbole d’un moteur à excitation compound.

34
Moteur synchrone sans balais et servomoteur

Moteur synchrone sans balais : Le moteur synchrone sans balais a une structure inversée par rapport
au moteur à courant continu. Les aimants sont au rotor et les bobinages sont au stator. La
particularité de ce type de moteur est qu’il est conçu grâce aux capacités de l’électronique moderne.
Les phases de ce type des moteurs sont alimentées successivement par un commutateur de phases
électronique. Par contre, ce n’est plus une horloge extérieure qui fixe l’instant de commutation,
mais la position du rotor par l’intermédiaire de capteurs. Le couple moteur dépendant pour chaque
phase de la position du rotor par rapport au stator, les capteurs sont donc placés de manière à
obtenir en permanence un couple maximum.

Figure 2.24 Structure de moteur à balais et moteur sans balais

Le servomoteur : un servomoteur est, comme son nom l'indique, un moteur mais avec quelques
spécificités en plus. Contrairement à un moteur classique qui est utilisé pour tourner avec une
vitesse proportionnelle à un courant ou à une tension, pour obtenir une position. Il effectue une
rotation suivant un angle déterminé. Le plus souvent l'angle est compris entre 0 et 180° puis il garde
cette position.

Figure 2.25 Un servomoteur

3.4.2. Moteurs à courant alternatif


Pour les applications de faible et moyenne puissance (jusqu'à quelques kilowatts), le réseau
monophasé standard suffit. Pour des applications de forte puissance, les moteurs à courant alternatif
sont généralement alimentés par une source de courants polyphasés. Le système le plus
fréquemment utilisé est alors le triphasé utilisé par les distributeurs d'électricité.

Ces moteurs alternatifs se déclinent en trois types :

 Les moteurs universels.


 Les moteurs asynchrones.
 Les moteurs synchrones.

Ces deux dernières machines ne diffèrent que par leur rotor.

35
Le moteur universel c’est un moteur électrique fonctionnant sur le même principe qu'une machine à
courant continu à excitation série : le rotor est connecté en série avec l'enroulement inducteur. Le
couple de cette machine indépendant du sens de circulation du courant est proportionnel au carré de
son intensité. Il peut donc être alimenté indifféremment en courant continu ou en courant alternatif,
d'où son nom. Pour limiter les courants de Foucault qui apparaissent systématiquement dans toutes
les zones métalliques massives soumises à des champs magnétiques alternatifs, son stator et son
rotor sont feuilletés. Dans la pratique, ces moteurs ont un mauvais rendement, mais un coût de
fabrication très réduit. Leur couple est faible, mais leur vitesse de rotation est importante. Quand ils
sont utilisés dans des dispositifs exigeant un couple important, ils sont associés à un réducteur
mécanique.

La machine synchrone est souvent utilisée comme génératrice. On l'appelle alors « alternateur ».
Mis à part pour la réalisation de groupe électrogène de faible puissance, cette machine est
généralement triphasée. Pour la production d’électricité, les centrales électriques utilisent des
alternateurs dont les puissances peuvent avoisiner les 1 500 MW.

Comme le nom l'indique, la vitesse de rotation de ces machines est toujours proportionnelle à la
fréquence des courants qui les traversent. Ce type de machine peut être utilisé pour relever le
facteur de puissance d'une installation. On appelle celle-ci un « compensateur synchrone ».

La machine asynchrone : connue également sous le terme d'origine anglo-saxonne de « machine à


induction », est une machine à courant alternatif sans alimentation électrique du rotor. Le terme
anglais provient des courants induits dans le rotor par induction magnétique. Le terme « asynchrone
» provient du fait que la vitesse de ces machines n'est pas forcément proportionnelle à la fréquence
des courants qui les traversent.

3.4.3. Moteurs pas à pas


Les moteurs pas à pas sont des moteurs spéciaux utilisés pour commander avec une grande
précision le déplacement et la position d’un objet. Comme leur nom indique, ces moteurs tournent
par incréments discrets. Chaque incrément de rotation est provoque par une impulsion de courant
fournie à l’un des enroulements du stator.

Selon sa construction, un moteur pas à pas peut avancer de 90°, 45°, 18°, ou d’une fraction de
degré seulement par impulsion. En faisant varier la fréquence des impulsions, on peut faire tourner
le moteur très lentement, d’un pas à la fois, ou rapidement à des vitesses aussi élevées que 4000
tr/min. [25]

On trouve trois types de moteurs pas à pas :

 Le moteur à aimants permanents.


 Le moteur hybride.
 Le moteur à réluctance variable.

Le moteur à aimants permanents : Le nom de ce type de moteur pas à pas est lié à la conception de
son stator : une tôle magnétique découpée et emboutie. Sur un diamètre intérieur, les tôles
composent une série de dents qui symbolise les pôles du stator tout en laissant un espace torique
pour une bobine. Chaque sous-ensemble représente une phase stator. Le rotor est un barreau
aimanté radialement ayant plusieurs paires de pôles N-S.

36
Figure 2.26 Moteur à aimants permanant

Le moteur hybride : Le moteur pas à pas « hybride » allie le principe du moteur à réluctance
variable à celui du moteur à aimant permanent. Le rotor du moteur hybride comprend 2 structures
régulières de dents. Ces 2 blocs sont décalés d’une ½ dent l’un par rapport à l’autre et sont fixés de
part et d’autre d’un aimant permanent magnétisé axialement. Le circuit magnétique du stator
possède plusieurs pôles constitués de paquets de tôles entourés chacun d’une bobine ; les paquets de
tôles se terminant par des dents. Une phase est constituée de plusieurs dents ; 4 dans la plupart des
cas. Tous les pôles de la phase sont décalés de façon à assurer le déphasage de 90° (quadrature).

Figure 2.27 Moteur hybride

Le moteur à réluctance variable : Le principe de fonctionnement de ce type de moteur pas à pas est
proche de celui du moteur hybride, avec une structure dentée au rotor et au stator. Il n’y a pas
d’aimant au rotor pour renforcer l’action du flux et donc pas de couple résiduel sans courant. Ce
type de moteur pas à pas n’est presque plus utilisé ni fabriqué.

Figure 2.28 Moteur à réluctance variable

37
Si nous devions comparer les différents types de moteurs pas à pas :

Tableau 2.3 comparaison des différents types de moteurs pas à pas

Aimant permanent Hybride Reluctance variable


Cout Bas Haut Moyen/haut
Vitesse Bas Très haut Haut
Couple résiduel Haut Moyen Minimum
Amortissement Bon Moyen/bon Mauvais
Inertie rotor Haut Bas Bas
Rendement Moyen Très haut Moyen
Angle de pas 7.5°/15°/18° 0.9°/1.8° 1.8°
Nbrs de pas/tour 48/24/20 400/200 200
Précision du pas Bas haut Moyen

4. Conclusion
On peut dire à la fin de ce chapitre que toute système automatisé ou installation industrielle est
équipée d’un ensemble de capteurs et actionneurs dont l’utilité consiste à contrôler des différents
paramètres physiques telle que: la pression, le débit, la température,…, etc. Donc la compréhension
des principes de fonctionnement des principaux capteurs et actionneurs utilisés est une phase très
importante lors de l’étude de n'importe qu'el système automatisé.

38
Chapitre 3 :
Microcontrôleur et Arduino
1. Introduction
Le terme micro-ordinateur est utilisé pour décrire un système qui comprend au moins un
microprocesseur, une mémoire de programme(ROM), la mémoire de données (RAM), et une
entrée-sortie (I / O) périphérique. Certains systèmes de micro-ordinateurs comprennent des
composants supplémentaires tels que des Timers, des compteurs et des convertisseurs analogique-
numérique. Ainsi, un système de micro-ordinateur peut être existé sous plusieurs sortes à partir d'un
gros ordinateur ayant disques durs, disquettes, imprimantes et à contrôleur intégré à puce unique.

Dans ce chapitre, nous allons considérer seulement le type de micro-ordinateurs qui se composent
d'une seule puce de silicium. Ces systèmes de micro-ordinateurs sont aussi appelés
microcontrôleurs, et ils sont utilisés dans de nombreux produits ménagers tels que les fours à micro-
ondes, unités de contrôle à distance d'un TV, cuisinières, équipements HIFI, lecteurs CD,
ordinateurs personnels, et les réfrigérateurs. De nombreux microcontrôleurs sont disponibles au
marché. [28]

2. Historique
Depuis la création de microprocesseurs, 4, 8, 16, 32 bits. Les microprocesseurs/microcontrôleurs
ont développé et sont apparu sur le marché. Intel 4004 était le premier processeur à 4 bits qui est
apparu en 1971. Ces instructions sont de 8 bits, mais ces données traitées sont de 4 bits. Il avait
mémoires externes séparés, pour le programme (4K) et les données (1K). Il y avait 46 instructions
et la fréquence d'horloge est de 740 kHz. Puis, en 1972, Intel 4040, la version améliorée de 4004.
4040 avaient 14 instructions de plus avec mémoire 8K du programme et des possibilités
d'interruption.
En 1974, Texas Instruments a présenté le premier microcontrôleur TMS 1000. TMS 1000 avait
dans la même puce une RAM, une ROM, et les I / Os. Intel 8080 a ensuite été introduit en 1974,
c'est la version améliorée de 8008, qui est également apparu en 1972. Intel 8085 a été élaboré en
1976. Cela pourrait fonctionner sur +5V et fréquence de 3 MHz. Dans la même année, Zilog Z-80
est apparu comme une amélioration par rapport Intel Z80 8080. Z80 fonctione à 2,5 MHz, et dans la
version CMOS (Complementary Metal Oxide Semiconductor), fonctionne à 10MHz.

Immédiatement après Intel 8080, en 1975, Motorola a lancé son 6800, suivi plus tard par le 6502
et 6809, etc. Ensuite, Intel 8084 a été développé comme un microcontrôleur autour de 1976. C'est la
famille MCS-48. Il est possible de stocker les données sur la même puce, mais le code a été stocké
dans la mémoire externe de programme. il est immédiatement remplacé par le MCS-51 famille de
microcontrôleurs en 1980. Intel MCS-51 utilise plus souple des instructions de 2 octets. Sur une
seule puce il procède (RAM / EPROM ROM RAM). En 1982, Motorola a présenté microcontrôleur
6805. Le PIC (Peripheral interface controller) est né à l'Université Harvard en 1975. Les familles de
microcontrôleurs PIC a été introduit vers 1985, par Microchip. PIC utilise l'architecture de Harvard,
et il dispose d'un jeu d'instructions réduit. Intel 8086 a été développé en 1978, c'est un processeur de
16 bits. Après, Motorola a présenté un microprocesseur 68000 16-bit, et Zilog introduit Z8000, un
microprocesseur 16 bits. Les développements historiques dans les produits de microprocesseurs
sont listés dans le tableau suivant :

Tableau 3.1 Les développements historiques dans les produits de microprocesseurs

Année Microprocesseur / microcontrôleur remarque


1971 Intel 4004 Microprocesseur à 4-bit

39
1972 Intel 4040 Microprocesseur à 4-bit
1974 Intel 8080 Microprocesseur à 8-bit
TMS 1000 Microcontrôleur à 8-bit
1975 Motorola 6800 Microprocesseur à 8-bit
1976 MCS-48 Microcontrôleur à 8-bit
Intel 8085 Microprocesseur à 8-bit
1978 8086, Motorola 68000, Zilog Z-8000 Microprocesseur à 16-bit
1980 8051 Microcontrôleur à 8-bit
1982 68010,6805 Microcontrôleur
80186, 80188, 80286 Microprocesseur à 16-bit
8096 (MCS-96) Microcontrôleur à 16-bit
1984 86020 Microprocesseur à 32-bit
1985 80386 Microprocesseur à 32-bit
PIC microcontrollers by Microchip Microcontrôleur à 8-bit
1987 Z280 Microprocesseur à 16-bit
1989 80386sx, 80486 Microprocesseur à 32-bit
1993 Pentium Microprocesseur à 32-bit
1997 Atmel 8-bit AVR family Microcontrôleur RISC à 8-bit

En Juin 1997, les microcontrôleurs ATMEL 8 bits AVR ont été introduites qui ont également le
jeu d'instructions réduit. Aujourd'hui, nous voyons un certain nombre de familles de
microcontrôleurs, de sources multiples et dans de nombreuses versions. [29]

3. Définition de microcontrôleur
Un microcontrôleur est un circuit hautement intégré qui rassemble, sur une puce, la plus part ou
tout les parties nécessaire d'un ordinateur. Le microcontrôleur comprend généralement: CPU
(Central Processing Unit), la mémoire RAM (Random Access Memory), EPROM / PROM / ROM
(programmable effaçable Read Only Memory), I / O (entrée / sortie), des timers. [30]

Figure 3.1 Schéma des éléments principaux d’un microcontrôleur

3.1. Les composants internes d’un microcontrôleur


Un microcontrôleur le plus simple qu’il soit, possède au minimum les éléments suivants :

Une unité centrale qui est le cœur de système, également appelé CPU (Central Processing Unit)
dans cette unité centrale nous retrouverons plusieurs éléments telle que l’unité arithmétique et
logique (UAL).

40
Une mémoire contenant le programme à exécuter par le microcontrôleur, généralement appelée
mémoire morte ou ROM, mémoire à lecture seule. Cette mémoire a la particularité de sauvegarder
en permanence les informations qu’elle contient, même en absence de tension (ce qui est
primordiale, sino il faudrait reprogrammer le microcontrôleur à chaque remise sous tension !).

Une mémoire vive (RAM), cette mémoire permet de sauvegarder temporairement des informations.
Il est à noter que le contenu d’une RAM n’est sauvegardé que pendant la phase d’alimentation du
circuit. Le microcontrôleur pourra utiliser cette mémoire pour stoker des variables temporaires ou
faire des calculs intermédiaires.

Un port d’entrées/sorties permettant au microcontrôleur de dialoguer avec l’extérieur pour par


exemple prendre l’état d’un capteur, d’un interrupteur ou bien pour allumer une LED ou piloter un
relais (via un transistor bien sur).

Une base de temps : elle peut être assurée par un cristal de quartz externe, un oscillateur
programmable, un résonateur céramique, ou d'une base de temps interne. [35]

Des bus internes permettent la communication entres les différents éléments intégrés au
microcontrôleur.

Et pour certains microcontrôleurs les plus sophistiqués peuvent contenir des éléments
supplémentaires, tels que :

Convertisseur analogique-numérique (CAN): un convertisseur analogique-numérique a une tension


d'entrée analogique et produit une sortie binaire représentative de sa valeur. Dans un CAN linéaire,
la plage de valeurs d'entrée analogiques est divisé en intervalles spatiaux de façon égale; dont
chacune est affectée a un mot de code binaire. [33]

Un convertisseur numérique-analogique (CNA): un CNA accepte un mot d'entrée de n bits b1, b2,
b3, ..., bn en binaire et produire un signal proportionnel analogique à elles. La figure ci-dessous
montre son symbole. [34]

Figure 3.2 Symbole d’un convertisseur numérique/analogique

Le PWM (Pulse Width Modulation) : est une technique pour obtenir des résultats analogiques avec
des moyens numériques. La commande numérique est utilisée pour créer une onde carrée, le signal
se varier entre 1 et 0. Par le changement de la durée du moment où le signal est en 1 par rapport au
période du signale carré on peut obtenir des tensions entre les deux valeurs 5 Volts et 0 Volts

41
Figure 3.3 Signal analogique par la technique PWM

3.2. Les types des microcontrôleurs


Les microcontrôleurs peuvent être classés selon la largeur des bus interne, l'architecture de la
mémoire et de jeu d'instructions.

Figure 3.4 Les types des microcontrôleurs

Les microcontrôleurs de 8, 16 et 32 bits

Lorsque l'UAL effectue des opérations arithmétiques et logiques sur un octet (8 bits) à une
instruction, on dit qu'il est un microcontrôleur de 8 bits. Son bus interne est de largeur de 8 bits.

Lorsque l'UAL effectue des opérations arithmétiques et logiques sur un octet (16 bits) à une
instruction, on dit qu'il est un microcontrôleur de 16 bits. Son bus interne est de largeur de 16 bits.
Ses performances et la capacité de calcul sont renforcées avec une plus grande précision par rapport
aux microcontrôleurs 8 bits.

Lorsque l'UAL effectue des opérations arithmétiques et logiques sur un octet (32 bits) à une
instruction, on dit qu'il est un microcontrôleur de 32 bits. Son bus interne est de largeur de 32 bits.
Ses performances et la capacité de calcul sont plus grandes et plus précis par rapport aux
microcontrôleurs 16 bits.

Les microcontrôleurs de mémoires embarqués et de mémoires externes

Quand un système embarqué comporte un UC ou tous les blocs fonctionnels en une seule unité,
donc il est appelé un microcontrôleur intégré. [32]

42
Quand un système embarqué comporte une unité de microcontrôleur qui n'a pas tous les blocs
fonctionnels disponibles sur une seule puce, il est appelé un microcontrôleur de mémoire externe.
[31]

L’architecture des microcontrôleurs

Architecture de Von Neumann-(Princeton): quand un UC a une mémoire commune utilisé pour le


programme et les données, on dit qu'il a l'architecture Princeton de mémoire dans le processeur.

Architecture de Harvard: quand la mémoire de programme se distincte de la mémoire de données,


le UC a l'architecture de Harvard dans son processeur. Alors l’accès à chacune des deux mémoires
se fait via un chemin distinct. Cette organisation permet de transférer une instruction et des
données simultanément, ce qui améliore les performances.

Figure 3.5 L’architecture d’un microcontrôleur

RISC et CISC l'architecture des microcontrôleurs

l'architecture RISC (Reduced Instruction Set Computer) des microcontrôleurs: quand un


microcontrôleur a un jeu d'instructions qui prend moins de modes d'adressage pour les instructions
arithmétique et logique et pour les instructions de transfert de données, le microcontrôleur est dit
être de l'architecture RISC. [31]

l'architecture CISC (instruction Complicated Set Computer) des microcontrôleurs: quand un MCU a
un jeu d'instructions qui prend de nombreux modes d'adressage pour les instructions arithmétique et
logiques et pour l'accès à la mémoire et des instructions de transfert de données de le UC est dit être
de l'architecture CISC. [32]

3.3. Langage de programmation d’un microcontrôleur


Le C : le c est un langage de programmation impératif conçu pour la programmation système.
Inventé au début des années 1970 avec UNIX, C est devenu un des langages les plus utilisés. De
nombreux langage lus modernes comme C++, Java et PHP reprennent des aspects de C. [36]

Toutefois, les professionnels placent le langage C en tête de liste pour plusieurs raisons : [37]

 Il est souple et puissant.


 Lorsqu’il nouvelle architecture (nouveau processeur, nouveau système d’exploitation…)
apparait, le premier langage disponible est généralement le C car contrairement à d’autres, il
est facile porter. De plus, un compilateur est souvent disponible sur les ordinateurs.
 Avec la norme ANSI, le C est devenu un langage portable. Cela signifie qu’un programme
C écrit pour un type d’ordinateur (un PC IBM, par exemple) peut être compilé pour tourner
sur un autre système.

43
 Le langage C contient peu de mots.
 Le langage C est modulaire. Son code peut être écrit sous forme de sous programme appelés
fonctions.

Le C++ : dans les années 80 B. Stroustrup propose d’appeler C++ un nouveau langage, conçu non
pas comme un remplaçant mais comme une amélioration du langage C. [38]

Comme le C, C++ adopte une vision très proche de la machine. Il à été destiné en premier lieu à
l’écriture de systèmes d’exploitation mais ses caractéristiques lui ont ouvert d’autres perspectives.

Il est formé d’instructions très explicites, courtes, dont la durée d’exécution peut être prévue à
l’avance, au moment de l’écriture du programme.

Son nombre d’instructions et de notations étant volontairement limité les interprétations des
constructions sémantiques sont multiples et c’est sans doute ce que le concepteur du langage C++
désigne sous le terme d’expressivité. [39]

Le Java : Java est un langage de programmation informatique de haut niveau. Langages de haut
niveau, comme Java, permettent aux programmeurs d'écrire des instructions en utilisant des
commandes en anglais. Chaque instruction dans un langage de haut niveau correspond à de
nombreuses instructions dans la langue de la machine. Java a été crée au début des années 1990 par
une équipe de Sun Microsystems dirigée par James Gosling. Les concepteurs de Java ont
commencé avec la syntaxe de base des langages comme C, C ++ et Smalltalk. Java a été
initialement conçu pour une utilisation dans des dispositifs tels que les téléphones cellulaires,
cependant, dans quelques années, Sun Microsystems a été utilisé Java pour fournir l'animation et de
l'interactivité sur le Web. IBM a adopté Java comme son principal langage de développement. De
nombreuses interfaces de réseau et des serveurs Web sont maintenant basés sur Java. [40]

L’assembleur : Le langage assembleur est très proche du langage machine (c'est-à-dire le langage
qu'utilise l'ordinateur : des informations en binaire, soit des 0 et des 1). Il dépend donc fortement du
type de processeur. Ainsi il n'existe pas un langage assembleur, mais un langage assembleur par
type de processeur.

3.4. Domaines d'applications des microcontrôleurs


Système de communication: Les microcontrôleurs 8 bits sont souvent utilisés pour les téléphones
portables simples et la téléphonie fixe alors que les microcontrôleurs 32 bits se retrouvent plutôt
dans les Smartphones et les PDA.

Figure 3.6 Les appareils de communication

44
Technique médicinale: Les instruments de mesure (par exemple mesure de la glycémie), les organes
artificiels, etc.

Figure 3.7 Appareil médicale

Les technologies de la sécurité: Les systèmes pour gérer la sécurité dans les moyes de transport (par
exemple : les passages à niveau), dans les bâtiments (par exemple: alarme incendie, effractions) etc.

Figure 3.8 Appareil de sécurité

Mécatronique et automation industrielle : Installation pour la production de biens, pour la


logistique, etc.

Figure 3.9 Les appareils industriels

Moyens de transport: Autos, avions, vélo électrique etc.

45
Figure 3.10 Les moyens de transports

Electronique de consommation: Appareil hifi, TV, vidéo, télécommande etc.

Figure 3.11 TV, vidéo, HIFI

Application basse consommations : Les appareils à piles, tels que ceux développés par la HESB
pour la station ornithologique suisse, qui permettent d’enregistre des données spatiales et
télémétriques.

Figure 3.12 Enregistreur de données géographiques à pile et système de fixation

4. Arduino
4.1. C’est quoi l'Arduino?
Elle est considérée comme un grand équipement électronique pour les amateurs ainsi que les
professionnels, l'Arduino est un puissant ordinateur à carte unique avec une utilisation facile à
adapter. C’est une open source, ce qui signifie que vous devez payer son matériel et le logiciel
requis est gratuit. Son logiciel est basé sur la puce ATMega. [42]

4.2. Bref historique de l'Arduino


Arduino a été crée en 2005 dans l'institut de Design Interaction d'Ivrea en Italie, comme une plate-
forme open source de. Les fondateurs du projet, Massimo Banzi et David Cuartielles. Hernando
Barragan, pour sa thèse de fin d'études avait entrepris le développement d'une carte électronique
dénommée Wiring, accompagnée d'un environnement de programmation libre et ouvert. [41]

Pour ce travail, Hernando Barragan réutilisait les sources du projet Processing. Basée sur un
langage de programmation facile d'accès et adaptée aux développements de projets de designers, la
carte Wiring a donc inspiré le projet Arduino (2005). Comme pour Wiring, l'objectif était d'arriver à
un dispositif simple à utiliser, dont les coûts seraient peu élevés, les codes et les plans « libres ».

4.3. Matériel arduino


La carte Arduino repose sur un circuit intégré (un microcontrôleur) associée à des entrées et sorties
qui permettent à l’utilisateur de brancher différents types d’éléments externes :

46
Côté entrées, des capteurs qui collectent des informations sur leur environnement comme la
variation de température via une sonde thermique, le mouvement via un détecteur de présence ou un
accéléromètre, le contact via un bouton-poussoir, etc…

Figure 3.13 Différent types des capteurs pour l’arduino

Côté sorties, des actionneurs qui agissent sur le mode physique telle une petite lampe, un moteur,
haut parleur…

Figure 3.14 Différent s actionneurs pour l’arduino

Comme le logiciel arduino, le circuit électronique de cette plaquette est libre et ses plans sont
disponibles sur l’internet. On peut donc les étudier et créer des dérivés. Plusieurs constructeurs
proposent ainsi différents modèles de circuits électroniques programmables et utilisables avec le
logiciel Arduino.

"Seule le nom « arduino » n’est pas utilisable librement. De telle sort à toujours pouvoir identifier le
projet de ses dérivés."

Il existe plusieurs variétés de cartes Arduino. Ces cartes peuvent être autonome et fonctionner sans
ordinateur ou servir d’interface avec celui-ci.

Figure 3.15 Différent types des cartes arduino

4.4. Logiciel Arduino


Le logiciel arduino est gratuit (open source) et se télécharger sur le site officiel d’Arduino, à
l’adresse http://Arduino.cc/en /Main/Software

47
Plusieurs fichiers différents vous sont proposés en téléchargement, vous devez faire votre choix en
fonction du système d’exploitation de votre ordinateur : Windows, MacOs X, Linux. La dernière
version officielle est généralement celle qu’il faut sélectionner, bien que pour les cartes les plus
récents il faille parfois préférer les versions « beta » du logiciel, c’est-à-dire des versions non
éprouvées et perfectibles, mais tout de même fonctionnelles. [44]

IDE (Integrated Development Environment) est un programme spécial exécutable sur votre
ordinateur qui vous permet d'écrire des esquisses pour la carte Arduino dans un langage simple sur
le modèle du langage de traitement. La magie se produit lorsque vous appuyez sur le bouton qui
télécharge l'esquisse à la carte: le code que vous avez écrit est traduit dans la langue de C (qui est
généralement assez difficile pour un débutant d'utiliser), et est passé au compilateur avr-gcc, une
pièce importante du logiciel open source qui fait la traduction finale dans la langue comprise par le
microcontrôleur. Cette dernière étape est très importante, parce que c’est là où Arduino rend votre
vie simple en cachant autant que possible de la complexité de la programmation des
microcontrôleurs. [45]

L’interface de logiciel:

Double-click sur l’icone IDE Arduino est on obtien la fenetre vierge ci-dessous :

Figure 3.16 Interface de logiciel arduino.

Cette fenêtre vide sera remplie de mots et de chiffres et d'autres textes. Cette fenêtre est comme tout
autre logiciel que vous avez utilisé. Elle contient des menus, des boutons, des alertes spéciales, et
toutes sortes de contrôles: Ouvrir, Enregistrer, et le bouton du moniteur de série à l'extrême droite.

Nouveau: crée une nouvelle esquisse.

Ouvert: présente un menu de tous les croquis dans votre dossier de croquis. Cliquez sur l'un va
ouvrir dans la fenêtre actuelle.

Enregistrer: enregistre votre croquis.

48
Vérifiez: ce bouton vous permet de vous assurer que votre logiciel est exempt d'erreurs de syntaxe.

Envoyez: ce bouton peut à la fois vérifier et télécharger un croquis à l'Arduino si aucune erreur
d'orthographe ou de mise en forme n’est trouvée.

Serial Monitor: ce bouton vous permet d'ouvrir le moniteur de série et d'afficher les informations en
provenance du port série sur l'Arduino. Le moniteur de série est comme un outil pour "parler avec
l'Arduino et vous l'utilisez pour voir les choses d'intérêt. [46]

Figure 3.17 Détail de barre de bouton

4.5. Les avantages de l’arduino


 Elle n’est pas cher!
 Environnement de programmation clair et simple.
 Multiplateforme : tourne sous Windows, Macintosh et Linux.
 Nombreuses librairies disponibles avec diverses fonctions implémentées.
 Logiciel et matériel open source et extensible.
 Nombreux conseils, tutoriaux et exemples en ligne (forums, site personnel etc...)
 Existence de « shield » : ce sont des cartes supplémentaires qui se connectent sur le module
Arduino pour augmenter les possibilités comme par exemple : afficheur graphique couleur,
interface ethernet, GPS, etc...

5. Conclusion
À travers ce chapitre on peut dire que lors de la conception d’un circuit électronique, si celui-ci
nécessite une unité de calcul, l’implantation de celle-ci est soit un assemblage de portes logiques
(programmation matérielle), soit un microcontrôleur comme le cas de notre travail (programmation
logicielle). Les premiers ont un très faible coût de fabrication s’ils sont produits en très grande
quantité. L’avantage des seconds est qu’ils sont de toute manière fabriqués en masse afin de les
rendre le plus accessible possible en réduisant au maximum leur prix, et il suffit d’y embarquer un
logiciel pour qu’ils puissent accomplir une tâche spécifique, l'un de ses logiciels est l'arduino, qui
représente un logiciel de programmation par code basé sur des cartes électroniques a
microcontrôleur open source et qui peut être utilisé pour construire des objets interactifs
indépendants (prototypage rapide), ou bien peut être connecté à un ordinateur pour communiquer et
superviser en utilisant des logiciels de programmation (flash, labview, etc).

49
Chapitre 4 :
Réalisation
1. Introduction:
Le but essentiel de notre travail est d’utiliser l'arduino pour commander le robot mobile. On
doit construire un prototype de ce robot qui contient un petit cadre d'aluminium clôturer de tel sort
qu'on va obtenir a la fin un boitier qui circule a l'aide des trois roues, et pour pouvoir commander
ce boitier on doit le connecter a des circuits d'alimentation, de commande et des capteurs puis a une
carte arduino contient le programme qui nous permet de gérer tout les applications de ce robot.

2. La conception de robot :
2.1. La structure de base du robot :

Figure 4.1 La structure générale du robot

2.2. Détail de chaque bloc :


2.2.1. Les Capteurs :
Tout d’abord et puisque la tache principale de ce robot c’est la détection et l’extinction de
l’incendie, elle est besoin d’un capteur de flamme, le problème qui se pose comment il se sent de la
présence du feu.

50
Parmi plusieurs capteurs qui peuvent effectuer la tâche nous avons choisi un capteur infrarouge a
base d’un phototransistor, a cause de sa disponibilité, son schéma et sa réalisation n’est pas
compliqué et bien sur de l'autre côté que leur cout n'est pas cher.

On a utilisé 5 capteurs, quatre pour déterminer de quelle coté provient le signal de la flamme, de
l’avant, de l’arrière, du droit ou de la gauche d’une coté et de l’autre coté ils sont pris comme un
référence par la mesure de l'intensité de la lumière avant l'existence de la flamme (au début de
démarrage), de cette dernière on peut programme le robot à partir quelle grandeur il doit réagi. Le
cinquième est mis en avant et utiliser pour déterminer la direction vers la flamme avec grande
précision.

Figure 4.2 Le placement des capteurs infrarouge dans le robot

Le schéma du capteur infrarouge :

Figure 4.3 Schéma du capteur infrarouge

L’étalonnage de capteur infrarouge:

Dans cette étalonnage on mesure dans le premier cas on absence de flamme la valeur maximale
entre les 4 capteurs qui sont utiliser pour les cotes, nous avons choisi la valeur maximale pour
assurer que chaque capteur ne dépasse pas cette valeur à cause de leurs incertitudes. Puis on mesure
la valeur maximale de ces 4 capteurs approprie à une distance bien déifiée, cette distance variée par
un pas de 5 cm de 5 à 150 cm. On répète l'étalonnage plusieurs fois en variant l’intensité de la
lumière ambiante. (Remarque : la valeur mesurée c’est une valeur numérique, au lieu de mesurer la

51
valeur du capteur en Volt puis on converti en valeur numérique pour la programmation on prend
directement la valeur numérique mesurée par l’arduino. (Annexe A).

Figure 4.4 L’opération d’étalonnage

Figure 4.5 La valeur maximale en fonction de distance

On remarque que :

 Les graphes d’étalonnage des capteurs commence a prend la même forme a partir d’une
intensité lumineuse ambiante approprier à la valeur 571.
 La variation de la valeur mesurée et la distance sont proportionnelle.
 Entre 5cm et 25cm la valeur mesurée a peu pris stable il subit à une petite variation.
 Entre 25cm et 45 la relation entre la distance et la valeur mesurée est une relation à peu pris
linière

52
 Entre 70 et 150 la valeur mesurée est subit à des petites variations, il existe aussi à cet
intervalle une relation à peu pris linière.

La deuxième partie d’étalonnage de ce capteur c’est l’étalonnage angulaire. Tout comme le


précédent on mesure la valeur maximale de 4 capteur des cotés en absence de flamme, puis on
mesure la valeur maximale de 4 capteur à un angle bien défini, l’intervalle angulaire se varie de -
30° à +30° par un pas de 5°. On répète l'étalonnage plusieurs fois en variant l’intensité de la lumière
ambiante.(Annexe A).

Figure 4.6 L’opération d’étalonnage angulaire

Figure 4.7 La valeur maximale en fonction de l’angle

En remarque que :
 Les graphes d’étalonnage des capteurs commence a prend la même forme a partir d’une
intensité lumineuse ambiante approprier à la valeur 751.

53
 Le pic maximale dans la plus par des graphes se situer en angle de 0° par rapport au capteur
si que signifie que le capteur attendre sa repense maximale quand la source de flamme se
situer en face de lui.

À partir de l’étalonnage on remarque que ce capteur a un intervalle angulaire très large ce qui ne
nous aidons pas à dirigé le robot vers la flamme avec précision, pour sortir de cette cas on utilise
une fente qui réduit l’intervalle angulaire comme le montre dans la figure ci-dessous.

Figure 4.8 L’effet de la fente sur le capteur

 L’étalonnage de capteur avec la fente


 L’étalonnage de distance

Dans cet étalonnage on prend les mêmes conditions que le précédant, mais on mesure seulement la
valeur du capteur de précision où on ajoute la fente, puisque rien ne change pour les autre capteurs
(annexe A).

Figure 4.9 La valeur de capteur de précision en fonction de distance

54
Dans cette graphe on a les même remarque que le précédant (Figure 4.5), La chose qui est claire ici
est l'absence totale des fluctuations. Et bien sûr, cela résulte de l'utilisation de la fente.

Figure 4.10 La valeur de précision en fonction de l’angle


On remarque a partir de cet graphe que :
 Toutes les courbes ont la même forme
 Contrairement au graph précisant, il y a un changement régulier des valeurs mesurées, elles
commencent à augmenter jusqu'à ce qu'ils atteignent la valeur maximale à 0°, puis elles
commencent à diminuer jusqu'à la dernière valeur
 Chaque courbe prend sa valeur maximale au 0°.
 Par rapport le graph précédant il y a une grande déférence entre la valeur maximale et les
autres valeurs

Mais ce capteur n’est pas la solution parfaite, tout simplement il ne suffit pas seulement le capteur
infrarouge, car s’il y a une flamme le capteur fonctionne bien, le problème apparut avec l’existence
d’une autre source de la lumière infrarouge (une LED par exemple) puisqu’il considère cette source
comme une flamme.

Pour résoudre totalement le problème de l’existence de la flamme on utilise un capteur de


température pour mesurer la température de la source. Aussi ce problème a plusieurs solutions et
parmi ces solutions nous avons choisi un capteur à base d’une thermistance parce qu’elle est aussi
largement disponible, pas cher et facile a réalisé. Comme les autres composants en électronique il
n’existe pas un seul type de thermistance, mais il y a deux types les CTP (coefficient de
température positif) ou PTC et les CTN (coefficient de température négatif) ou NTC.

Nous avons pris notre décision d’utilise le CTN a partir de la courbe d’étalonnage des deux
thermistances apparu au figure ci-dessous puisque la courbe de CTN a une forme exponentielle.

55
Figure 4.11 Courbe d’étalonnage de thermistance

On utilise cette thermistance comme un thermostat, on s’intéresse a une seule valeur qui représente
la tension appropriée à la chaleur du feu puisque l’information que nous voulons c’est s’il y a une
flamme ou non, et bien sur s’elle existe sa température sera trop élevée par rapport a la température
ambiante, et cela simplifie beaucoup la tâche.

Le schéma du capteur de température :

Figure 4.12 Schéma de capteur de température

Pour l’étalonnage on n’a pas besoin de le faire car on ne s’intéresse pas à la valeur exacte de
température mais du changement important de la valeur de sortie dans une durée bien définie, et
d’une autre part on a remarqué que le temps de repense de la thermistance est très grand.

Maintenant parce que le robot peut se déplacer dans des différents lieux et des différents espaces,
il peut être entravé par des obstacles et de forage, alors l'utilisation d'un capteur de distance devient
nécessaire. Nous avons choisi le capteur ultrason HC-SR04.

Figure 4.13 Capteur ultrason HC-SR04

56
Pourquoi se module parce que tout ce qu'il faut pour un capteur ultrason est intégré dans une seule
petite pièce. Ce module dispose simplement de 4 pins de sortie : VCC, TRIG, ECHO, GND. Il est
donc très facile de l'interfacer à un microcontrôleur.

Le processus complet est le suivant: Mettre le pin "TRIG" une impulsion de niveau haut (5V)
durant au moins 10µs et le module démarre sa lecture; A la fin de la mesure, s'il détecte un objet
devant lui, le pin "ECHO" passe au niveau haut (5V). Et, la distance où se situe l'obstacle est
proportionnelle à la durée de cette impulsion. Il est donc très facile de calculer cette distance avec la
formule suivante:

Les caractéristiques de capteur HC-SR04 :

 La tension de fonctionnement : 5V
 Le courant de fonctionnement : 15mA
 Fréquence de fonctionnement : 40Hz
 La distance de détection : de 2cm à 450cm
 L’intervalle angulaire de capture : de -7,5° à +7,5°
 Signale de détection : impulsion de 10us TTL
 Signale d'écho : sortie TTL PWL

L’étalonnage de capteur de distance :

Dans cet étalonnage nous utilisons une plaque de bois qui à été séparée de capteur par une distance
bien définie, et nous mesurons la distance captée. A chaque fois on varie la distance et on relève la
valeur mesurée.(Annexe A).

Figure 4.14 L’opération d’étalonnage de capteur de distance

57
Figure 4.15 Étalonnage de capteur de distance HC-SR04

On remarque que :

 Il commence à fonctionner a partir de 2cm


 Le capteur est linéaire
 A l’intervalle [2 9,5] il ya a des petites fluctuations ce que signifie que la sensibilité de ce
capteur est de 1cm

Ceci est tout sur la première partie du robot qui est les capteurs, qui représente leur sens. Mais la
partie suivante est le cerveau de robot, que nous allons parler maintenant.

2.2.2. Le contrôleur :
Comme il est indique au figure de la structure générale du robot notre contrôleur est ATmega 2560
inclue dans la carte arduino Mega.

Figure 4.16 La carte Arduino Mega

L'Arduino Mega 2560 est une carte microcontrôleur basée sur le Microcontrôleurs. Il est doté de 54
broches d'entrée/sortie numériques (dont 14 peuvent être utilisées comme sorties PWM), de 16
entrées analogiques, de 4 émetteurs-récepteurs universels asynchrones (UART, ports de série de
matériel), d'un oscillateur en cristal de 16 MHz, d'une connexion USB, d'une prise de courant, d'une
embase ICSP et d'un bouton de réinitialisation. Il contient tout ce qui est nécessaire pour prendre en
charge le microcontrôleur…

Chacune des 54 broches numériques sur le Mega peuvent être utilisées en tant qu'entrée ou sortie,
en utilisant les fonctions pinMode(), digitalWrite(), et digitalRead() Il dispose également de 16
entrées analogiques, chacune d'elles disposant de 10 bits de résolution (c'est à dire 1 024 valeurs
différentes).

58
L'Arduino Mega2560 dispose d'un certain nombre de moyens pour communiquer avec un
ordinateur, un autre Arduino, ou d'autres microcontrôleurs. L'ATMEGA2560 fournit quatre UART
physiques pour des communications sérielles de type TTL (5 V). Un ATmega8U2 sur la carte
canalise l'un d'eux sur l'USB et fournit un port COM virtuel pour le logiciel sur l'ordinateur.

Les caractéristiques d'arduino Mega :

 Microcontrôleur : ATmega2560
 Tension de fonctionnement : 5 V
 Tension d'entrée (recommandée) : 7 à 12 V
 Tension d'entrée (limites) : 6 à 20 V
 Broches E/S numériques : 54 (dont 14 fournissent la sortie PWM)
 Broches d'entrée analogiques : 16
 Courant alternatif par broche d'E/S : 40 mA
 Courant continu pour la broche de 3,3 V : 50 mA
 Mémoire Flash : 256 Ko (dont 8 Ko utilisés par le chargeur initial de programme)
 SRAM : 8 Ko
 EEPROM : 4 Ko
 Vitesse de l'horloge : 16 MHz

Voilà tout ce que nous pouvons dire sur le contrôleur, maintenant nous passons à la partie qui
permet au robot de réagir selon les informations qu'il reçoit de l'environnement à partir de ses
capteurs, les résultats de traitement de ces informations. Cette partie représente les actionneurs.

2.2.3. Les actionneurs :


Afin que le robot soit capable de se déplacer il est nécessaire d’utiliser les moteurs, et parce qu'on
est décidé de réaliser un robot tricycle alors on utilise de moteur DC pour commander les deux
roues arrière. L'utilisation de deux moteurs a été causé par le coût n'est cher par rapport un
servomoteur, il n'y a pas beaucoup de vibrations, faible consommation d'énergie et plus rapide par
rapport un moteur pas à pas.

Figure 4.17 Le moteur DC utilisé

Les caractéristiques du moteur :

 Numéro de modèle: EM-529 RS445PA14233R


 Tension d'alimentation: 12-42V
 Courant, alimentation: 60mA - 1.5A

59
 Puissance: 7.78W
 Couple: 81,8 m.Nm
 Diamètre de l'arbre: 3.17mm
 Diamètre du moteur: 30mm
 La longueur du moteur: 67mm

On remarque d’appris les caractéristiques que le moteur est alimenter par une tension supérieur ou
égal a 12V, ceci nous oblige à utiliser un étage entre le contrôleur et le moteur qui joue le rôle de
circuit de puissance ou de commande, parmi plusieurs solution on a choisi le circuit L298N
puisqu’il est disponible, facile à réaliser et ça coûte pas cher, d’une part et d’une autre part un seul
circuit c’est suffisant pour commander les deux moteurs.

Le schéma du circuit de commande :

Figure 4.18 Schéma de circuit de commande du moteur

L’étalonnage du circuit de commande :

Dans le processus d'étalonnage de ce circuit, nous avons connecté ses entrées par les sorties
d’arduino qui donne des tensions analogique pour commander les sorties de circuit, et nous avons
connecté les entrées OUT1, OUT2 par un moteur et OUT3, OUT4 par le deuxième moteur.

A chaque fois on donne une valeur analogique par l’arduino et on mesure la tension aux bornes de
chaque moteur et sa vitesse

Remarque : puisque on a utilisé l’arduino, on la donne une valeur de 0 à 255 et elle convertie on
valeur de 0 à 5V, chaque valeur numérique est proportionnelle à une valeur analogique par la
relation suivante :

Donc pour le tableau suivant on donne les valeurs numériques au lieu des valeur analogique.

60
Figure 4.19 L’opération d’étalonnage de circuit de commande

Tableau 4.6 Etalonnage de circuit de commande

Figure 4.20 L’étalonnage de circuit de commande

On remarque que :

 La variation de tension aux bornes de chaque moteur est proportionnelle à la variation de


valeur numérique.

61
 A peu pris à partir de la valeur numérique 37 la variation de la vitesse de chaque moteur est
proportionnel à la variation de valeur numérique.
 Les courbes de tension et de vitesse des deux moteurs ont la même forme, mais ils ne sont
pas identiques.
 Les courbes de tension et de vitesse des deux moteurs commencent à prend une variation
presque linière à partir de la valeur numérique 206.

Et pour la pompe nous ne se soucient seulement que par deux cas qui sont soit alimentée ou non,
donc sa circuit de commande se n'est qu'une interrupteur à base d'un transistor.

Le schéma de circuit de commande de la pompe : Dans le schéma suivant le pole (+) de la


pompe se connecter directement au pole (+) du la batterie, et le pole (-) de la pompe se connecter au
branche MT du circuit. Pour commander la pompe on connecter la sortie de commande de l’arduino
au branche AR du circuit.

Figure 4.21 Schéma de circuit de commande de la pompe

Remarque : Parce que, il doit toujours y avoir la quantité d'eau en prévision de feu, il est nécessaire
de connaître la quantité d'eau restante dans le réservoir, donc nous avons besoin d'ajouter un capteur
de niveau, et en raison que le budget ne suffit pas, nous devons trouver une autre façon de résoudre
ce problème. Nous avons réfléchir à une solution qui est de calculer le temps T1 nécessaire pour
que la pompe vider le réservoir, et pour savoir la quantité restante nous calculons le temps T2 de
fonctionnement de la pompe, et en fin la différence entre T1 et 2 avec la quantité est proportionnelle
restante.

En fin de compte, nous ne devons pas oublier que le circuit principal qui est le circuit d'alimentation
de tous les circuits dans le robot. La plupart des circuits d'alimentation contient de nombreux étages,
y compris: l'étage de transformation (généralement transformateur abaisseur), l'étage de
redressement et l'étage de régulation. Mais dans notre cas, nous utilisons un seul étage qui est
l'étage de régulation. Parce que notre source d'énergie est une batterie, donc l'existence de l'étage de
transformation n'a aucun sens car la tension de la source de basse et égale 12V, fait également pour
l'étage de redressement puisque la tension de la batterie est constante.

par contre l'utilisation de l'étage de régulation est nécessaire, pour alimenter le contrôleur on utilise
le régulateur 7809 pour abaisse la tension de 12V à 9V, régulateur 7805 pour abaisse la tension de

62
12V à 5V pour le circuit de capteur, et pour tout les parties qui sont besoin de 12V nous ne sommes
pas obligés d'utiliser un régulateur, mains on les broche directement à la batterie.

Le schéma de circuit d’alimentation :

Figure 4.22 Schéma de circuit d’alimentation

Nous avons discuté dans ce qu'il passé presque sur tout ce qu'il comprend notre robot comme des
matériels. Maintenant nous passons à l'étape de programmation.

2.3. La programmation

2.3.1. Définition de programme


Pour faciliter la programmation, nous allons créer des fonctions au lieu que les répéter à chaque
fois.

Le robot reçoit la commande, selon cette dernière il fonctionne soit automatiquement ou


manuellement. Dans le fonctionnement automatique il vérifie si il y a une flamme ou non, si oui il
va se dirigé vers la source puis il avancer jusqu'à qu'il elle arrive, puis éteint la flamme, si non il
continue à marcher. Mais avant de faire n'importe quelle action, il assure qu'il n'y a pas d'obstacles
ou de forage. En ce qui concerne le fonctionnement manuel, il reçoit l'ordre puis il agir selon lui.
Les ordres sont: avancer, reculer, marcher à droite ou à gauche, mise à jour de la valeur nominale
pour les capteurs infrarouge, le capteur de température ou le niveau d'eau dans le réservoir, ici aussi
il assure toujours qu'il n'y a pas d'obstacles ou de forage. Thermistance

2.3.2. L’algorithme de programme


Dans le programme on a crée les fonctions suivant :

reception() : pour la réception des ordres de télécommande

marcher_manu() : pour commander le robot manuellement

marcher_auto() : pour le robot marche automatiquement

Verifier_obstacle() : pour vérifier les obstacles et les forage devant le robot

Verifier_flamme() : pour la confirmation de l’existence de la flamme

63
faire(String action) : pour faire les différents actions

Mise_a_jour(String capteur) : pour la mise à jour les valeurs des capteurs et le niveau de réservoir

Positionner(String direct) : pour positionner vers la source de la lumière infrarouge

Et pour beaucoup de détail voir l’annexe B

3. La réalisation
3.1. La réalisation des circuits

 Le circuit des capteurs

Le schéma de circuit Le circuit imprimé Le circuit réaliser

 Le circuit de commande de moteur

Le schéma de circuit Le circuit imprimé Le circuit réalisé

64
 Le circuit de commande de la pompe :

Le schéma de circuit Le circuit imprimé Le circuit réalisé

 Le circuit d’alimentation :

Le schéma de circuit Le circuit imprimé Le circuit réalisé

Tableau 4.7 Les circuits de robot

3.2. La réalisation de carcasse du robot

Avant de commencer la construction, il est nécessaire de concevoir un design que nous allons
réaliser. Pour sa nous avons utilisé le logiciel Solid Edge qui nous permet de crée des différentes
pièces et les assembler.

65
Figure 4.23 Solid Edge

Au début, nous avons choisi la forme sous laquelle il sera le robot, ceci est illustré dans la figure ci-
dessous.

Figure 4.24 La forme sous du robot

Et maintenant, selon nos matières premières, nous avons divisé la structure en trois parties
principales: le côté droit, le côté gauche et le côté arrière, comme illustré dans la figure suivante:

Figure 4.25 Les cotés principales du robot

66
Parce que la forme devient maintenant claire, nous pouvons commencer à la concevoir sous le
logiciel et aussi les autres pièces.

Après le processus de conception, nous pouvons commencer à réalise les pièces selon le plan.

3.2.1. Conception et réalisation des pièces


4. Tableau 4.8 Les pièces du robot
La pièce La pièce conçue La pièce réalisée
La coté de
droit et de
la gauche
La coté de
arrière et
de milieu
Support de
roulement

Plaque de
l’avant

Plaque du
bas

Plaque du
coté

Plaque du
haut

Roulement

Axe

pignon

roue avant

67
roue
arrière

moteur

Pompe
d’eau

batterie

boutie
d'eau

4.1.1. L’assemblage du robot


 Châssis sous le logiciel

Figure 4.26 Le châssis du robot sous Solid Edge

 Châssis réalisé

Figure 4.27 Le châssis du robot réalisé

68
 Le cadre sous le logiciel

Face en avant Face en arrière

Face de haut Face de bas

Face de l’arrière droit Face de l’avant gauche

Figure 4.28 Le cadre du robot sous Solid Edge

 Le cadre réalisé

Face en avant Face en arrière

69
Face de haut Face de bas

Face de l’arrière droit Face de l’avant gauche

Figure 4.29 Le cadre de robot réalisé

Remarque :

Après assemblage du cadre, et le test du robot nous avons trouvé un problème dans sa
fonctionnement qui est, il ne marche pas tout droit.

70
Figure 4.30 Mauvaise fonctionnement du robot

Nous avons pensé à la cause du problème, et nous avons remarqué d'après l'étalonnage de circuit de
commande, que les sorties liées au moteur 1 sont toujours élevé par rapport les sorties liées au
moteur 2, donc nous changeons le circuit de commande trois fois, mais le problème reste comme il
est.

Figure 4.31 Les anciens circuits de commande

Puis nous avons pensé que le problème peut être du cadre lui même, et quand nous avons le vérifié,
effectivement nous avons constaté que la côté arrière est inferieur de la côté avant par 1.3 cm, de
nouveau nous avons reconstruire le cadre encore une fois. Mais cela ne résout pas complètement le
problème, mais légèrement amélioré.

71
Figure 4.32 L’ancien cadre

En fin et après une réflexion profondé nous avons atteint une solution mathématique qui est comme
suit, nous avons remarqué que dans l'intervalle [206 , 255] de chaque courbe d'étalonnage de circuit
de commande, la variations est presque linéaire, nous avons extrait la fonction linéaire pour chacun
des deux courbes l'aide de Microsoft Office Excel, et puisque la fonction du moteur 2 est toujours
petit devant la fonction du moteur 1, donc nous avons fixé la valeur de sortie du moteur 2, et nous
avons extrait la valeur de sortie du moteur 1 de sa fonction linéaire. Et comme ça le problème est
résolu définitivement.

72
Figure 4.33 Bonne fonctionnement du robot

Nous notons ici que le temps que nous avons passé pour trouver une solution pour dépasser deux
mois.

Contrôle à distance

Pour contrôler le robot à distance nous avons utilisé l’application QuickRemote de téléphone
mobile pour crée un télécommande spéciale pour le robot.

Figure 4.34 L’icone de l’application QuickRemote

La création d’une nouvelle télécommande se fait par l’ajout des touches nécessaire puis
configuration les ordres émis par chaque touche

73
Figure 4.35 La télécommande crée

En fin de compte, il ne reste que la programmation du robot et le testé.

5. Le teste de robot

Le démarrage du robot

Le robot se dirige vers la source

74
Le robot va vers la flamme

Le robot atteint à la source

Le robot commence à éteindre la flamme

La flamme est éteinte

Figure 4.36 L’opération de teste

75
6. Conclusion:
Dans ce dernier chapitre, nous avons explicité les différentes étapes qui nous ont permis de
réaliser ce robot, ces composants utilisés et leurs tâches, on a présenté aussi une description général
du programme arduino implémenté sur la carte électronique.

76
Conclusion générale
Conclusion générale:
Nous avons donc pu réaliser l’objectif de notre projet qui est l’utilisation de logiciel et carte
électronique arduino pour manipuler un robot mobile a trois roues. Nous avons étudié tout d’abord
les principales caractéristiques d’un robot et en particulier le robot mobile. On a ensuite essayé de
parler des différents composants utilisés pour construire se robot: de moteurs vers les capteurs
jusqu' arduino et microcontrôleurs pour mieux comprendre son fonctionnement et pouvoir ensuite
générer les signaux de commandes qui seront envoyés a partir de la carte électronique.

Ce projet pourra plutôt servir de base pour commander d’autres systèmes ou d'autres robots qu'ils
ont des différents taches et applications selon le besoin.

78
Annexe A :
Les tableaux d’étalonnage
Annexe A : Les tableaux d’étalonnage
Tableau 4.1 L’étalonnage de distance des capteurs infrarouge

Valeur Valeur Valeur Valeur Valeur Valeur


Distance Distance Distance
ambiante maximale ambiante maximale ambiante maximale
870 5 881 808 5 875 772 5 873
870 10 877 808 10 875 772 10 877
870 15 879 808 15 871 772 15 875
870 20 873 808 20 869 772 20 875
870 25 877 808 25 868 772 25 869
870 30 875 808 30 868 772 30 866
870 35 872 808 35 869 772 35 869
870 40 875 808 40 866 772 40 863
870 45 875 808 45 863 772 45 868
870 50 871 808 50 862 772 50 866
870 55 871 808 55 865 772 55 866
870 60 871 808 60 861 772 60 858
870 65 871 808 65 862 772 65 859
870 70 875 808 70 858 772 70 859
870 75 871 808 75 859 772 75 857
870 80 874 808 80 861 772 80 861
870 85 870 808 85 856 772 85 856
870 90 870 808 90 859 772 90 857
870 95 875 808 95 855 772 95 859
870 100 870 808 100 859 772 100 849
870 105 871 808 105 853 772 105 848
870 110 871 808 110 854 772 110 843
870 115 875 808 115 852 772 115 841
870 120 874 808 120 850 772 120 844
870 125 871 808 125 851 772 125 836
870 130 875 808 130 852 772 130 799
870 135 871 808 135 853 772 135 835
870 140 871 808 140 851 772 140 824
870 145 875 808 145 849 772 145 809
870 150 871 808 150 850 772 150 841

Valeur Valeur Valeur Valeur Valeur Valeur


Distance Distance Distance
ambiante maximale ambiante maximale ambiante maximale
571 5 867 344 5 869 210 5 871
571 10 872 344 10 871 210 10 870
571 15 868 344 15 869 210 15 867
571 20 870 344 20 859 210 20 863
571 25 868 344 25 855 210 25 859
571 30 865 344 30 835 210 30 854
571 35 863 344 35 733 210 35 617
571 40 858 344 40 608 210 40 580
571 45 861 344 45 618 210 45 582
571 50 858 344 50 600 210 50 505
571 55 853 344 55 586 210 55 463
571 60 849 344 60 569 210 60 396
571 65 837 344 65 501 210 65 390
571 70 784 344 70 508 210 70 394
571 75 783 344 75 520 210 75 381
571 80 768 344 80 467 210 80 354

79
571 85 716 344 85 473 210 85 337
571 90 729 344 90 457 210 90 334
571 95 718 344 95 438 210 95 339
571 100 737 344 100 439 210 100 334
571 105 694 344 105 452 210 105 315
571 110 696 344 110 431 210 110 314
571 115 694 344 115 443 210 115 303
571 120 682 344 120 431 210 120 300
571 125 677 344 125 416 210 125 297
571 130 663 344 130 418 210 130 295
571 135 668 344 135 408 210 135 286
571 140 666 344 140 403 210 140 277
571 145 670 344 145 400 210 145 295
571 150 665 344 150 407 210 150 279

Valeur Valeur Valeur Valeur Valeur Valeur


Distance Distance Distance
ambiante maximale ambiante maximale ambiante maximale
108 5 862 43 5 866 25 5 864
108 10 863 43 10 864 25 10 860
108 15 867 43 15 861 25 15 856
108 20 856 43 20 846 25 20 641
108 25 847 43 25 679 25 25 465
108 30 651 43 30 507 25 30 365
108 35 492 43 35 371 25 35 241
108 40 464 43 40 258 25 40 211
108 45 354 43 45 208 25 45 240
108 50 324 43 50 201 25 50 186
108 55 281 43 55 200 25 55 156
108 60 302 43 60 198 25 60 114
108 65 261 43 65 167 25 65 129
108 70 229 43 70 125 25 70 101
108 75 220 43 75 152 25 75 90
108 80 194 43 80 109 25 80 110
108 85 188 43 85 101 25 85 74
108 90 211 43 90 87 25 90 73
108 95 190 43 95 106 25 95 66
108 100 188 43 100 86 25 100 66
108 105 200 43 105 97 25 105 56
108 110 176 43 110 98 25 110 49
108 115 149 43 115 78 25 115 53
108 120 172 43 120 71 25 120 50
108 125 170 43 125 84 25 125 51
108 130 169 43 130 75 25 130 46
108 135 144 43 135 70 25 135 50
108 140 143 43 140 62 25 140 45
108 145 151 43 145 77 25 145 43
108 150 146 43 150 65 25 150 45

80
Tableau 4.2 L’étalonnage angulaire des capteurs infrarouge

Valeur Valeur Valeur Valeur Valeur Valeur


Angle Angle Angle
ambiante maximale ambiante maximale ambiante maximale
870 -30 867 751 -30 801 472 -30 513
870 -25 867 751 -25 822 472 -25 530
870 -20 867 751 -20 827 472 -20 553
870 -15 871 751 -15 838 472 -15 578
870 -10 867 751 -10 837 472 -10 573
870 -5 871 751 -5 839 472 -5 566
870 0 867 751 0 851 472 0 592
870 5 870 751 5 822 472 5 562
870 10 866 751 10 826 472 10 549
870 15 870 751 15 810 472 15 567
870 20 870 751 20 819 472 20 540
870 25 870 751 25 788 472 25 531
870 30 870 751 30 777 472 30 535

Valeur Valeur Valeur Valeur Valeur Valeur


Angle Angle Angle
ambiante maximale ambiante maximale ambiante maximale
234 -30 269 187 -30 190 19 -30 40
234 -25 283 187 -25 204 19 -25 59
234 -20 302 187 -20 217 19 -20 80
234 -15 312 187 -15 235 19 -15 84
234 -10 320 187 -10 254 19 -10 91
234 -5 311 187 -5 243 19 -5 82
234 0 312 187 0 262 19 0 104
234 5 297 187 5 259 19 5 64
234 10 311 187 10 245 19 10 73
234 15 317 187 15 251 19 15 88
234 20 301 187 20 235 19 20 62
234 25 277 187 25 233 19 25 53
234 30 269 187 30 228 19 30 45

Tableau 4.3 L’étalonnage de distance du capteur de précision

Valeur Valeur de Valeur Valeur de Valeur Valeur de


Distance Distance Distance
ambiante précision ambiante précision ambiante précision
870 5 639 808 5 879 772 5 861
870 10 871 808 10 878 772 10 879
870 15 876 808 15 870 772 15 875
870 20 865 808 20 865 772 20 872
870 25 868 808 25 858 772 25 861
870 30 842 808 30 853 772 30 713
870 35 756 808 35 555 772 35 572
870 40 683 808 40 369 772 40 448
870 45 581 808 45 398 772 45 470
870 50 543 808 50 353 772 50 371
870 55 527 808 55 332 772 55 368
870 60 490 808 60 298 772 60 247
870 65 476 808 65 233 772 65 251

81
870 70 464 808 70 227 772 70 197
870 75 456 808 75 218 772 75 223
870 80 446 808 80 215 772 80 222
870 85 442 808 85 183 772 85 171
870 90 438 808 90 183 772 90 183
870 95 446 808 95 176 772 95 183
870 100 444 808 100 174 772 100 155
870 105 449 808 105 157 772 105 151
870 110 464 808 110 165 772 110 140
870 115 464 808 115 150 772 115 132
870 120 457 808 120 138 772 120 135
870 125 459 808 125 142 772 125 128
870 130 464 808 130 149 772 130 107
870 135 450 808 135 136 772 135 125
870 140 447 808 140 141 772 140 119
870 145 457 808 145 133 772 145 114
870 150 446 808 150 137 772 150 120

Valeur Valeur de Valeur Valeur de Valeur Valeur de


Distance Distance Distance
ambiante précision ambiante précision ambiante précision
571 5 871 344 5 871 210 5 876
571 10 876 344 10 875 210 10 873
571 15 865 344 15 868 210 15 866
571 20 859 344 20 624 210 20 856
571 25 649 344 25 459 210 25 565
571 30 465 344 30 349 210 30 461
571 35 369 344 35 252 210 35 229
571 40 333 344 40 163 210 40 202
571 45 309 344 45 169 210 45 193
571 50 264 344 50 159 210 50 149
571 55 225 344 55 149 210 55 126
571 60 209 344 60 140 210 60 89
571 65 193 344 65 100 210 65 85
571 70 158 344 70 103 210 70 90
571 75 152 344 75 108 210 75 83
571 80 147 344 80 84 210 80 69
571 85 122 344 85 85 210 85 63
571 90 128 344 90 79 210 90 60
571 95 122 344 95 70 210 95 61
571 100 128 344 100 70 210 100 56
571 105 114 344 105 75 210 105 53
571 110 112 344 110 66 210 110 51
571 115 108 344 115 71 210 115 47
571 120 104 344 120 67 210 120 44
571 125 102 344 125 58 210 125 45
571 130 94 344 130 59 210 130 44
571 135 97 344 135 55 210 135 40
571 140 96 344 140 54 210 140 36
571 145 97 344 145 52 210 145 45
571 150 95 344 150 56 210 150 37

82
Valeur Valeur de Valeur Valeur de Valeur Valeur de
Distance Distance Distance
ambiante précision ambiante précision ambiante précision
108 5 873 43 5 693 25 5 872
108 10 869 43 10 871 25 10 869
108 15 868 43 15 863 25 15 861
108 20 795 43 20 752 25 20 533
108 25 560 43 25 473 25 25 313
108 30 360 43 30 297 25 30 209
108 35 222 43 35 186 25 35 121
108 40 201 43 40 122 25 40 98
108 45 131 43 45 86 25 45 110
108 50 111 43 50 79 25 50 73
108 55 84 43 55 71 25 55 59
108 60 92 43 60 68 25 60 38
108 65 71 43 65 49 25 65 46
108 70 55 43 70 38 25 70 32
108 75 53 43 75 43 25 75 25
108 80 41 43 80 31 25 80 34
108 85 38 43 85 26 25 85 18
108 90 47 43 90 21 25 90 18
108 95 38 43 95 26 25 95 16
108 100 36 43 100 18 25 100 66
108 105 41 43 105 19 25 105 10
108 110 31 43 110 18 25 110 9
108 115 23 43 115 13 25 115 10
108 120 30 43 120 13 25 120 8
108 125 29 43 125 15 25 125 9
108 130 28 43 130 10 25 130 7
108 135 19 43 135 11 25 135 8
108 140 19 43 140 9 25 140 6
108 145 22 43 145 11 25 145 5
108 150 20 43 150 9 25 150 6

Tableau 4.4 L’étalonnage angulaire du capteur de précision

Valeur Valeur de Valeur Valeur de Valeur Valeur de


Angle Angle Angle
ambiante précision ambiante précision ambiante précision
870 -30 228 751 -30 95 472 -30 54
870 -25 231 751 -25 97 472 -25 55
870 -20 234 751 -20 100 472 -20 57
870 -15 241 751 -15 106 472 -15 66
870 -10 256 751 -10 116 472 -10 75
870 -5 261 751 -5 128 472 -5 82
870 0 280 751 0 145 472 0 97
870 5 256 751 5 114 472 5 77
870 10 242 751 10 107 472 10 64
870 15 231 751 15 95 472 15 59
870 20 229 751 20 95 472 20 55
870 25 230 751 25 92 472 25 54
870 30 227 751 30 92 472 30 55

83
Valeur Valeur de Valeur Valeur de Valeur Valeur de
Angle Angle Angle
ambiante précision ambiante précision ambiante précision
234 -30 23 187 -30 16 19 -30 1
234 -25 24 187 -25 17 19 -25 1
234 -20 26 187 -20 18 19 -20 3
234 -15 31 187 -15 22 19 -15 5
234 -10 42 187 -10 37 19 -10 14
234 -5 46 187 -5 41 19 -5 21
234 0 49 187 0 50 19 0 28
234 5 39 187 5 40 19 5 11
234 10 34 187 10 27 19 10 8
234 15 28 187 15 24 19 15 5
234 20 26 187 20 21 19 20 2
234 25 24 187 25 21 19 25 2
234 30 24 187 30 21 19 30 2

Tableau 4.5 Tableau d’étalonnage de capteur de distance

Distance réel Distance Distance réel Distance Distance réel Distance


(cm) mesurée (cm) (cm) mesurée (cm) (cm) mesurée (cm)
2 2 9.5 9 40 40
2.5 3 10 10 45 45
3 3 11 11 50 50
3.5 3 12 12 55 55
4 4 13 13 60 60
4.5 4 14 14 65 65
5 5 15 15 70 70
5.5 5 16 16 75 75
6 6 17 17 80 80
6.5 6 18 18 85 85
7 7 19 19 90 90
7.5 7 20 20 95 95
8 8 25 25 100 100
8.5 8 30 30
9 9 35 35

Tableau 4.6 Etalonnage de circuit de commande

Vitesse Vitesse Vitesse Vitesse


Tension Tension Tension Tension
de de de de
Valeur de de Valeur de de
moteur moteur moteur moteur
numérique moteur moteur numérique moteur moteur
1 2 1 2
1 (V) 2 (V) 1(V) 2 (V)
(tr/min) (tr/min) (tr/min) (tr/min)
0 0,0117 0,0137 0 0 128 6,19 5,95 877 796
1 0,0154 0,0045 0 0 129 6,23 5,97 882 803
2 0,021 0,0022 0 0 130 6,27 6,01 886 808
3 0,0298 0,0106 0 0 131 6,31 6,06 890 812
4 0,0408 0,0207 0 0 132 6,33 6,09 893 817
5 0,0537 0,032 0 0 133 6,39 6,12 898 827
6 0,069 0,0449 0 0 134 6,43 6,17 903 848
7 0,0872 0,0587 0 0 135 6,46 6,21 909 843

84
8 0,106 0,0753 0 0 136 6,64 6,18 907 847
9 0,1252 0,0911 0 0 137 6,51 6,23 910 851
10 0,145 0,11 0 0 138 6,57 6,31 913 856
11 0,166 0,1256 0 0 139 6,62 6,35 915 860
12 0,188 0,1435 0 0 140 6,64 6,37 920 865
13 0,21 0,163 0 0 141 6,7 6,43 927 870
14 0,242 0,183 0 0 142 6,73 6,64 934 873
15 0,265 0,204 0 0 143 6,76 6,53 949 880
16 0,29 0,226 0 0 144 6,82 6,59 955 887
17 0,315 0,248 0 0 145 6,88 6,65 960 893
18 0,344 0,27 0 0 146 6,9 6,69 973 908
19 0,372 0,292 0 0 147 6,94 6,66 978 914
20 0,4 0,316 0 0 148 6,98 6,7 981 918
21 0,45 0,34 0 0 149 7 6,82 986 929
22 0,48 0,366 0 0 150 7,06 6,83 997 936
23 0,505 0,383 0 0 151 7,11 6,86 1009 940
24 0,55 0,412 0 0 152 7,12 6,85 1015 944
25 0,58 0,42 0 0 153 7,14 6,86 1020 946
26 0,632 0,442 0 0 154 7,17 6,89 1024 951
27 0,678 0,469 0 0 155 7,19 6,91 1031 957
28 0,748 0,495 0 0 156 7,22 6,97 1036 963
29 0,834 0,52 5 0 157 7,24 6,95 1041 965
30 0,942 0,544 6 0 158 7,27 6,99 1045 970
31 1,084 0,567 43 0 159 7,3 7,06 1048 976
32 1,185 0,581 58 0 160 7,32 7,03 1053 982
33 1,247 0,691 60 0 161 7,41 7,15 1060 986
34 1,32 0,714 68 0 162 7,45 7,16 1064 990
35 1,4 0,79 81 0 163 7,42 7,15 1069 994
36 1,477 0,867 92 1 164 7,48 7,18 1071 999
37 1,51 1,018 100 8 165 7,52 7,21 1075 1002
38 1,612 1,13 113 29 166 7,56 7,27 1079 1010
39 1,696 1,23 128 50 167 7,61 7,3 1084 1017
40 1,78 1,277 138 61 168 7,65 7,33 1089 1021
41 1,86 1,363 158 79 169 7,69 7,38 1092 1026
42 1,93 1,441 165 86 170 7,72 7,46 1096 1030
43 2 1,525 173 93 171 7,74 7,44 1100 1033
44 2,06 1,634 202 109 172 7,78 7,47 1104 1038
45 2,15 1,7 207 129 173 7,84 7,58 1109 1042
46 2,18 1,78 211 132 174 7,87 7,59 1112 1046
47 2,25 1,82 214 137 175 7,89 7,62 1116 1049
48 2,3 1,907 219 149 176 7,91 7,66 1121 1055
49 2,36 1,957 225 158 177 7,93 7,69 1125 1060
50 2,42 2,06 233 168 178 7,96 7,7 1130 1064
51 2,48 2,08 240 183 179 8 7,76 1138 1066
52 2,53 2,17 247 197 180 8,04 7,78 1143 1070
53 2,57 2,23 254 215 181 8,08 7,81 1148 1074
54 2,63 2,28 261 221 182 8,12 7,87 1154 1078
55 2,68 2,34 268 230 183 8,17 7,9 1159 1082
56 2,73 2,4 278 236 184 8,19 7,92 1163 1085
57 2,79 2,45 286 245 185 8,22 7,97 1167 1089
58 2,84 2,51 292 258 186 8,27 7,98 1173 1092
59 2,9 2,56 305 270 187 8,29 8 1178 1092

85
60 2,94 2,61 310 285 188 8,33 8,04 1184 1096
61 3 2,65 313 285 189 8,36 8,08 1187 1104
62 3,04 2,73 315 290 190 8,38 8,1 1191 1108
63 3,08 2,76 320 296 191 8,42 8,14 1196 1112
64 3,15 2,83 334 304 192 8,45 8,19 1201 1116
65 3,17 2,88 345 325 193 8,49 8,2 1207 1120
66 3,23 2,94 354 334 194 8,5 8,24 1210 1125
67 3,29 2,97 362 345 195 8,53 8,26 1215 1129
68 3,33 3,03 371 350 196 8,55 8,27 1222 1132
69 3,38 3,08 385 357 197 8,57 8,33 1224 1136
70 3,42 3,15 390 360 198 8,6 8,34 1228 1139
71 3,47 3,2 396 374 199 8,63 8,35 1233 1143
72 3,51 3,23 401 377 200 8,64 8,4 1236 1147
73 3,56 3,33 413 401 201 8,68 8,41 1241 1151
74 3,61 3,38 423 408 202 8,72 8,43 1247 1158
75 3,65 3,4 439 402 203 8,74 8,45 1251 1160
76 3,7 3,45 439 420 204 8,76 8,47 1256 1163
77 3,75 3,53 445 414 205 8,85 8,51 1265 1167
78 3,79 3,59 456 426 206 10,18 9,9 1440 1332
79 3,83 3,61 463 433 207 10,21 9,9 1442 1332
80 3,89 3,67 483 441 208 10,23 9,95 1453 1333
81 3,95 3,71 500 468 209 10,27 9,98 1457 1336
82 4 3,79 516 472 210 10,28 9,99 1461 1347
83 4,04 3,82 533 485 211 10,29 10 1465 1351
84 4,08 3,88 538 495 212 10,3 10,02 1469 1355
85 4,17 3,9 545 507 213 10,32 10,04 1473 1360
86 4,21 3,93 566 512 214 10,37 10,06 1477 1363
87 4,24 3,96 574 526 215 10,35 10,08 1474 1367
88 4,54 4,34 589 545 216 10,36 10,1 1476 1372
89 4,6 4,39 596 554 217 10,37 10,1 1477 1372
90 4,64 4,43 602 569 218 10,39 10,12 1482 1378
91 4,68 4,48 611 577 219 10,41 10,14 1487 1383
92 4,74 4,53 620 595 220 10,43 10,16 1494 1389
93 4,78 4,57 647 597 221 10,46 10,21 1497 1399
94 4,82 4,61 654 605 222 10,47 10,22 1509 1408
95 4,88 4,64 660 609 223 10,5 10,25 1513 1422
96 4,92 4,68 675 614 224 10,52 10,26 1519 1436
97 4,97 4,72 681 617 225 10,53 10,28 1521 1442
98 5,02 4,79 692 624 226 10,55 10,31 1526 1447
99 5,06 4,84 702 653 227 10,57 10,34 1532 1452
100 5,1 4,89 711 662 228 10,6 10,36 1535 1461
101 5,15 4,94 715 666 229 10,62 10,39 1540 1466
102 5,19 4,9 722 686 230 10,64 10,43 1544 1470
103 5,21 4,95 724 655 231 10,67 10,48 1547 1475
104 5,15 4,95 691 633 232 10,69 10,52 1552 1484
105 5,22 5 720 635 233 10,71 10,55 1558 1487
106 5,28 5,06 722 638 234 10,73 10,58 1563 1493
107 5,32 5,1 724 642 235 10,76 10,62 1570 1501
108 5,37 5,13 731 659 236 10,77 10,67 1575 1508
109 5,41 5,19 738 665 237 10,8 10,71 1581 1516
110 5,46 5,23 743 677 238 10,83 10,75 1586 1521
111 5,5 5,28 755 685 239 10,86 10,79 1589 1531

86
112 5,54 5,33 768 691 240 10,88 10,83 1592 1537
113 5,58 5,36 786 700 241 10,91 10,86 1595 1544
114 5,63 5,4 794 712 242 10,92 10,88 1598 1549
115 5,66 5,45 798 719 243 10,93 10,91 1600 1555
116 5,71 5,46 802 723 244 10,96 10,95 1605 1562
117 5,75 5,52 807 727 245 11 10,99 1609 1576
118 5,79 5,53 813 732 246 11,03 11,02 1613 1585
119 5,82 5,6 815 738 247 11,07 11,06 1617 1593
120 5,87 5,63 817 743 248 11,11 11,1 1624 1600
121 5,9 5,66 819 747 249 11,14 11,15 1633 1606
122 5,93 5,7 828 755 250 11,19 11,21 1640 1630
123 5,98 5,74 833 759 251 11,24 11,25 1646 1637
124 6,03 5,78 840 768 252 11,27 11,29 1649 1641
125 6,07 5,83 850 783 253 11,31 11,33 1661 1646
126 6,12 5,9 861 787 254 11,36 11,38 1669 1652
127 6,15 5,9 875 790 255 11,41 11,43 1676 1672

87
Annexe B :
Algorithme et programme
Annexe B : Algorithme et programme
Le programme global :
Algorithme robot ;
Var C : String; Commande : String =’manu’ ;
Début
Si (il y a réception) Alors
Commande  réception() ;
FinSi
Au cas où (Commande) vau
‘manu’ : marcher_manu() ;
‘auto’ : marcher_auto() ;
Fin de cas
Fin
Fin algorithme

La fonction marcher_manu() :

Procédure marcher_manu()
Const en1: Byte=34; en2: Byte=35; in1: Byte=2; in2: Byte=3; in3: Byte=4; in4: Byte=5; pmp:
Byte=27;
Var Ordre : String; v_if: int ; v_thr: int ; niveau :int ;
Début :
Si (il y a réception) Alors
Ordre  réception();
FinSi
Au cas où (Ordre) vau
‘Avant’ :
Si (Vérifier_obstacle() = 0) Alors
faire(‘av’) ;
Sinon
faire(‘st’) ;
FinSi
‘Arriérer’ :
faire(‘ar’) ;
‘Droit’ :
Si (Vérifier_obstacle() = 0) Alors
faire(‘dr’) ;
Sinon
faire(‘st’) ;
FinSi
‘Gauche’ :
Si (Vérifier_obstacle() = 0) Alors
faire(‘gc’) ;
Sinon
faire(‘st’) ;

88
FinSi
‘Pompe’ :
faire(‘pmp’) ;
‘Stop’ :
faire(‘st’) ;
‘maj_if :
v_if= Mise_à_jour(‘cpif’) ;
‘maj_thr :
v_thr= Mise_à_jour(‘cpthr’) ;
‘niv’ :
niveau= Mise_à_jour(‘niv’) ;
Fin de cas

Fin

La fonction marcher_auto() :

Procédure marcher_auto()
Var Coté : String;
Début
Si (Vérifier_flamme() = ‘rien’) Alors
Si (Vérifier_obstacle() = 0) Alors
faire (‘av’) ;
Sinon
Repeter
faire (‘dr’) ;
Tant que (Vérifier_obstacle() = 1)
faire (‘st’) ;
FinSi
Sinon
Tant que (Vérifier_flamme() ≠ ‘flamme’) Faire
Si (Vérifier_obstacle() = 0) Alors
Coté  Vérifier_flamme() ;
Positionner(Coté) ;
faire (‘av’) ;
attendre (1000ms) ;
faire (‘st’) ;
Sinon
Repeter
faire (‘dr’) ;
Tant que (Vérifier_obstacle() = 1)
faire (‘av’) ;
attendre(2000ms) ;
faire (‘st’) ;
FinSi
Tant que (Vérifier_flamme() = ‘flamme’) Faire
faire (‘pmp’)

89
FinSi
Fin

La fonction Vérifier_obstacle() :

int Fonction Vérifier_obstacle()


Const trig_ob: Byte=22; echo_ob: Byte=23; trig_fr: Byte=24; echo_fr: Byte=25;dis_nrm_ob: Byte
=24; dis_nrm_fr: Byte =18;
Var dis_ob :long ; temps_ob: long; temps_fr: long; dis_fr : long;sig_fvo :int ;
Byte rep;
Début
définie trig_ob comme sortie ;
ecrire_numérique(trig_ob, 0) ;
définie echo_ob comme entré ;
définie trig_fr comme sortie ;
ecrire_numérique(trig_fr, 0) ;
définie echo_fr comme entré ;
attender (2us) ;
ecrire_numérique(trig_ob, 1) ;
attender (10us) ;
ecrire_numérique(trig_ob, 0) ;
dis_ob  temps de reception en echo_ob ;
attender (2us) ;
ecrire_numérique(trig_fr, 1) ;
attender (10us) ;
ecrire_numérique(trig_fr, 0) ;
dis_fr  temps de reception en echo_ob ;
Si ((dis_ob < dis_nrm_ob) ou (dis_fr > dis_nrm_fr)) Alors
sig_fvo=1 ;
Sinon
sig_fvo=0 ;
FinSi
Retourn(sig_fvo) ;
Fin

La fonction Vérifier_flamme() :

Fonction Vérifier_flamme()
Const cif_av :Byte= 0; cif_dr :Byte=1 ; cif_ar :Byte=2 ; cif_gc :Byte=3 ; cthr:Byte=5 ; val_nrm_if:
int =Mise_à_jour("cpif")+10; val_nrm_thr: int =Mise_à_jour("cpthr")+20;
Var val_av:int; val_dr:int; val_ar:int; val_gc:int; val_thr:int;val_max:int;
Var sig_fvf :String;
Début
val_av  lire cif_av;
val_dr  lire cif_dr;
val_ar  lire cif_ar;
val_gc  lire cif_gc;

90
val_pr  lire cif_pr;
val_thr  lire cif_thr;
val_max  max(val_av, val_dr) ;
val_max  max(val_max, val_ar) ;
val_max  max(val_max, val_gc) ;
val_fnct_if =Mise_à_jour(‘cpif’) ;
Si( (val_av > val_nrm_if) et (val_av >= val_max)) Alors
Si (val_dr > val_gc) Alors
Sig_fvf = ‘av_dr’ ;
Sinon Si (val_gc > val_dr) Alors
Sig_fvf = ‘av_gc’ ;
Sinon
Sig_fvf= ‘av’ ;
FinSi
Sinon Si ((val_ar > val_nrm_if) et (val_ar >= val_max)) Alors
Si (val_dr > val_gc) Alors
Sig_fvf = ‘ar_dr’ ;
Sinon Si (val_gc > val_dr) Alors
Sig_fvf = ‘ar_gc’ ;
Sinon
Sig_fvf= ‘ar’ ;
FinSi
Sinon Si (val_dr > val_nrm_if) et (val_dr >= val_max)) Alors
Sig_fvf= ‘dr’ ;
Sinon Si (val_gc > val_nrm_if) et (val_gc >= val_max)) Alors
Sig_fvf= ‘gc’ ;
Sinon
Sig_fvf = ‘rien’

FinSi
Si (val_thr > val_nrm_thr) Alors
Si (Sig_fvf ≠ rien) Alors
Sig_fvf =’flamme’ ;
FinSi
FinSi
Fin

La fonction Positionner() :

Procédure Positionner (String direct)


Const cif_av :Byte= 0; cif_pr :Byte=4; cif_ar :Byte=2;
Var val_pr:int; val_av:int; val_ar:int;
Début
val_pr  lire cif_pr ;
Au cas où (direct) vau
‘av_dr’ :

91
faire(‘dr’) ;
attendre(20ms) ;
faire(‘st’) ;
Tant que (val_pr < lire cif_pr) Faire
val_pr  lire cif_pr ;
faire(‘dr’) ;
attendre(20ms) ;
faire(‘st’) ;
faire(‘gc’) ;
attendre(20ms) ;
faire(‘st’) ;
‘av_gc’ :
faire(‘gc’) ;
attendre(20ms) ;
faire(‘st’) ;
Tant que (val_pr < lire cif_pr) Faire
val_pr  lire cif_pr
faire(‘gc’) ;
attendre(20ms) ;
faire(‘st’) ;
faire(‘dr’) ;
attendre(20ms) ;
faire(‘st’) ;
‘ar_dr’ :
val_ar  lire cif_ar -20 ;
Tant que (lire cif_av < val_ar) Faire
faire(‘dr’) ;
faire(‘st’) ;
Tant que (val_pr < lire cif_pr) Faire
val_pr  lire cif_pr ;
faire(‘dr’) ;
attendre(20ms) ;
faire(‘st’) ;
faire(‘gc’) ;
attendre(20ms) ;
faire(‘st’) ;
‘ar_gc’ :
val_ar  lire cif_ar -20 ;
Tant que (lire av < val_ar) Faire
faire(‘gc’) ;
faire(‘st’) ;
Tant que (val_pr < lire cif_pr) Faire
val_pr  lire cif_pr ;
faire(‘gc’) ;
attendre(20ms) ;
faire(‘st’) ;

92
faire(‘dr’) ;
attendre(20ms) ;
faire(‘st’) ;
‘av’ :
faire(‘dr’) ;
attendre(20ms) ;
faire(‘st’) ;
Si (val_pr < lire cif_pr) Alors
Tant que (val_pr < lire cif_pr) Faire
val_pr  lire cif_pr ;
faire(‘dr’) ;
attendre(20ms) ;
faire(‘st’) ;
faire(‘gc’) ;
attendre(20ms) ;
faire(‘st’) ;
Sinon Si (val_pr > lire cif_pr) Alors
faire(‘gc’) ;
attendre(40ms) ;
faire(‘st’) ;
Tant que (val_pr < lire cif_pr) Faire
val_pr  lire cif_pr ;
faire(‘gc’) ;
attendre(20ms) ;
faire(‘st’) ;
faire(‘dr’) ;
attendre(20ms) ;
faire(‘st’) ;
FinSi
‘ar’ :
Val_ar  lire cif_ar-20
Tant que (lire av < Val_ar) Faire
faire(‘dr’) ;
faire(‘st’) ;
Tant que (val_pr < lire cif_pr) Faire
val_pr  lire cif_pr ;
faire(‘dr’) ;
attendre(20ms) ;
faire(‘st’) ;
faire(‘gc’) ;
attendre(20ms) ;
faire(‘st’) ;
Fin de cas
Fin

La fonction faire() :

93
Procédure faire(String action)
Const en1: Byte=34; en2: Byte=35; in1: Byte=2; in2: Byte=3; in3: Byte=4; in4: Byte=5; pmp:
Byte=27; led_rouge:Byte=42; ig: int=200; id:int =(((7.0358*ig)-628.21))/4.617; istp: int=90;
Var i:int;act_prcd: String;
Début
définie en1 comme sortie ;
définie en2 comme sortie ;
définie in1 comme sortie ;
définie in2 comme sortie ;
définie in3 comme sortie ;
définie in4 comme sortie ;
définie pmp comme sortie ;
ecrire_numérique(en1, 0) ;
ecrire_numérique(en2, 0) ;
ecrire_numérique(in1, 0) ;
ecrire_numérique(in2, 0) ;
ecrire_numérique(in3, 0) ;
ecrire_numérique(in4, 0) ;
ecrire_numérique(pmp, 0) ;
Au cas où (action) vau
‘av’ :
ecrire_numérique(en1, 1) ;
ecrire_numérique(en2, 1) ;
ecrire_analogique(in1, id) ;
ecrire_numérique(in2, 0) ;
ecrire_analogique(in3, ig) ;
ecrire_numérique(in4, 0) ;
act_prcd  ‘av’ ;
‘ar’ :
ecrire_numérique(en1, 1) ;
ecrire_numérique(en2, 1) ;
ecrire_numérique(in1, 0) ;
ecrire_analogique(in2, id) ;
ecrire_numérique(in3, 0) ;
ecrire_analogique(in4, ig) ;
act_prcd  ‘ar’ ;
‘dr’ ;
ecrire_numérique(en1, 0) ;
ecrire_numérique(en2, 1) ;
ecrire_ numérique (in1, 0) ;
ecrire_numérique(in2, 0) ;
ecrire_analogique(in3, ig) ;
ecrire_numérique(in4, 0) ;
act_prcd  ‘dr’ ;
‘gc’ :
ecrire_numérique(en1, 1) ;

94
ecrire_numérique(en2, 0) ;
ecrire_analogique(in1, id) ;
ecrire_numérique(in2, 0) ;
ecrire_ numérique(in3, 0) ;
ecrire_numérique(in4, 0) ;
act_prcd  ‘gv’ ;
‘st’ :
i=50,
Si (act_prcd = ‘av’) Alors
Pour i de 50 à istp pas 1 faire
ecrire_numérique(en1, 1) ;
ecrire_numérique(en2, 1) ;
ecrire_numérique(in1, 0) ;
ecrire_analogique(in2, i) ;
ecrire_numérique(in3, 0) ;
ecrire_analogique(in4, i) ;
attendre (20us) ;
FinPour
ecrire_numérique(en1, 0) ;
ecrire_numérique(en2, 0) ;
ecrire_numérique(in1, 0) ;
ecrire_numérique(in2, 0) ;
ecrire_numérique(in3, 0) ;
ecrire_numérique(in4, 0) ;
Sinon Si (act_prcd = ‘ar’) Alors
Pour i de 50 à istp pas 1 faire
ecrire_numérique(en1, 1) ;
ecrire_numérique(en2, 1) ;
ecrire_analogique(in1, i) ;
ecrire_numérique(in2, 0) ;
ecrire_analogique(in3, i) ;
ecrire_numérique(in4, 0) ;
attendre (20us) ;
FinPour
ecrire_numérique(en1, 0) ;
ecrire_numérique(en2, 0) ;
ecrire_numérique(in1, 0) ;
ecrire_numérique(in2, 0) ;
ecrire_numérique(in3, 0) ;
ecrire_numérique(in4, 0) ;
Sinon Si (act_prcd = ‘dr’) Alors
Pour i de 50 à istp pas 1 faire
ecrire_numérique(en1, 1) ;
ecrire_numérique(en2, 0) ;
ecrire_numérique (in1, 0) ;
ecrire_numérique(in2, 0) ;

95
ecrire_ numérique(in3, 0) ;
ecrire_analogique(in4, i) ;
attendre (20us) ;
FinPour
ecrire_numérique(en1, 0) ;
ecrire_numérique(en2, 0) ;
ecrire_numérique(in1, 0) ;
ecrire_numérique(in2, 0) ;
ecrire_numérique(in3, 0) ;
ecrire_numérique(in4, 0) ;
Sinon Si (act_prcd = ‘gc’) Alors
Pour i de 50 à istp pas 1 faire
ecrire_numérique(en1, 0) ;
ecrire_numérique(en2, 1) ;
ecrire_ numérique(in1, 0) ;
ecrire_analogique(in2, i) ;
ecrire_numérique(in3, 0) ;
ecrire_numérique(in4, 0)
attendre (20us) ;
FinPour
ecrire_numérique(en1, 0) ;
ecrire_numérique(en2, 0) ;
ecrire_numérique(in1, 0) ;
ecrire_numérique(in2, 0) ;
ecrire_numérique(in3, 0) ;
ecrire_numérique(in4, 0) ;
Sinon
ecrire_numérique(en1, 0) ;
ecrire_numérique(en2, 0) ;
ecrire_numérique(in1, 0) ;
ecrire_numérique(in2, 0) ;
ecrire_numérique(in3, 0) ;
ecrire_numérique(in4, 0) ;
FinSi
act_prcd  ‘st’ ;
‘pmp’ :
Si (niveau < 120000)
ecrire_numérique(pmp, 1) ;
attendre(2000ms) ;
ecrire_numérique(pmp, 0) ;
niveau  niveau+1 ;
Sinon
ecrire_numérique(led_rouge, 1) ;
attendre(500ms) ;
ecrire_numérique(led_rouge, 0) ;
FinSi

96
Fin de cas
Fin

La fonction Mise_à_jour() :

Fonction Mise_à_jour(String capteur)


Const cif_av :Byte= 0; cif_dr :Byte=1 ; cif_ar :Byte=2 ; cif_gc :Byte=3 ; cthr:Byte=5 ;
Var v_cp: int; v_cp1: int; v_av :int; v_ar :int; v_dr :int; v_gc :int; val_fcnt_if:int=500;
Début
Si (capteur =’cpif’) Alors
v_av  lire cif_av ;
v_ar  lire cif_ar ;
v_dr  lire cif_dr ;
v_gc  lire cif_gc ;
v_cp1=max(v_av , v_ar) ;
v_cp1=max(v_cp, v_dr) ;
v_cp1=max(v_cp, v_gc) ;
Si (v_cp1 < val_fnct_if)
ecrire_numérique(led_rouge, 0) ;
v_cp  v_cp1;
Sinon
ecrire_numérique(led_rouge, 1) ;
v_cp  10000;
FinSi
Sinon Si (capteur =’cpthr’) Alors
v_cp  lire cthr ;
Sinon Si (capteur =’niv’) Alors
v_cp  0 ;
ecrire_numérique(led_rouge, 0) ;
FinSi
returen(v_cp)
Fin

La fonction réception() :

String Fonction réception()


Const in_rc :Byte=30 ;
Var rec : unsigned long ;val_rec :String ;
Début
Si (il y a réception) Alors
rec  lire in_rc ;
FinSi ;
Au cas où (rec) vau
2160004084:
val_rec  ‘manu’ ;
2160014284:
val_rec  ‘auto’ ;

97
2160032644:
val_rec  ‘Avant’ ;
2160028564:
val_rec  ‘Arriérer’ ;
2160008164:
val_rec  ‘Droit’ ;
2160057124:
val_rec  ‘Gauche’ ;
2160024484:
val_rec  ‘Pompe’ ;
2160061204:
val_rec  ‘maj_if’ ;
2160055084:
val_rec  ‘maj_thr’ ;
2160046924:
val_rec  ‘niv’;
2160016324 :
val_rec  ‘Stop’;
4294967295 :
val_rec  val_rec ;
Fin de cas
Return(val_rec);
Fin
Le programme
#include <IRremote.h>
const byte in_rc = 30, trig_ob = 22, echo_ob = 23, trig_fr = 24, echo_fr = 25, cif_av = 0, cif_dr = 1, cif_ar = 2,
cif_gc = 3, cthr = 5, cif_pr = 4, en1 = 34, en2 = 35, in1 = 2, in2 = 3, in3 = 4, in4 = 5, pmp = 27, led_rouge = 42;
String Commande;
int niveau, val_nrm_if, val_nrm_thr;
IRrecv irrecv(in_rc);
decode_results results;
void setup()
{
irrecv.enableIRIn();
pinMode(led_rouge, OUTPUT);
pinMode(trig_ob, OUTPUT);
digitalWrite(trig_ob, 0);
pinMode(echo_ob, INPUT);
pinMode(trig_fr, OUTPUT);
digitalWrite(trig_fr, 0);
pinMode(echo_fr, INPUT);
pinMode(en1, OUTPUT);
pinMode(en2, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);

98
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(pmp, OUTPUT);
pinMode(led_rouge, OUTPUT);
digitalWrite(en1, 0);
digitalWrite(en2, 0);
digitalWrite(in1, 0);
digitalWrite(in2, 0);
digitalWrite(in3, 0);
digitalWrite(in4, 0);
digitalWrite(pmp, 0);
digitalWrite(led_rouge, 0);
niveau = Mise_a_jour("niv");
val_nrm_if = Mise_a_jour("cpif")+10;
val_nrm_thr = Mise_a_jour("cpthr")+20;
}
void loop()
{
if (irrecv.decode(&results))
{
Commande = reception();
irrecv.resume();
}
Commande = Commande;/*……………………………………….*/
if (Commande == "auto")
{
marcher_auto();
}
else
{
marcher_manu();
}
}
String reception()
{
unsigned long rec;
String val_rec;
rec = results.value;
switch (rec)
{
case 2160004084 :
val_rec = "manu";
break;
case 2160014284:
val_rec = "auto";
break;
case 2160032644 :

99
val_rec = "Avant";
break;
case 2160028564 :
val_rec = "Arriérer";
break;
case 2160008164 :
val_rec = "Droit";
break;
case 2160057124 :
val_rec = "Gauche";
break;
case 2160024484 :
val_rec = "Pompe";
break;
case 2160061204 :
val_rec = "maj_if";
break;
case 2160055084 :
val_rec = "maj_thr";
break;
case 2160046924:
val_rec = "niv";
break;
case 2160016324:
val_rec = "Stop";
break;
case 4294967295:
val_rec = val_rec;
break;
}
return (val_rec);
}
void marcher_manu()
{
String Ordre;
if (irrecv.decode(&results))
{
Ordre = reception();
irrecv.resume();
}
if (Ordre == "Avant")
{
if (Verifier_obstacle() == 0)
{
faire("av");
}
else

100
{
faire("st");
}
}
else if (Ordre == "Arriérer")
{
faire("ar");
}
else if (Ordre == "Droit")
{
if (Verifier_obstacle() == 0)
{
faire("dr");
}
else
{
faire("st");
}
}
else if (Ordre == "Gauche")
{
if (Verifier_obstacle() == 0)
{
faire("gc");
}
else
{
faire("st");
}
}
else if (Ordre == "Stop")
{
faire("st");
}
else if (Ordre == "Pompe")
{
faire("pmp");
}
else if (Ordre == "maj_if")
{
val_nrm_if = Mise_a_jour("cpif");
}
else if (Ordre == "maj_thr")
{
val_nrm_thr = Mise_a_jour("cpthr");
}
else if (Ordre == "niv")

101
{
niveau = Mise_a_jour("niv");
}
}
void marcher_auto()
{
String Cote;
if (Verifier_flamme() == "rien")
{
if (Verifier_obstacle() == 0)
{
faire("av");
}
else
{
do
{
faire("dr");
} while (Verifier_obstacle() == 1);
faire("st");
}
}
else
{
while (Verifier_flamme() != "flamme")
{
if (Verifier_obstacle() == 0)
{
Cote = Verifier_flamme();
Positionner(Cote) ;
faire ("av") ;
delay(1000) ;
faire("st") ;
}
else
{
do
{
faire("dr");
} while (Verifier_obstacle() == 1);
faire ("av") ;
delay(2000) ;
faire("st") ;
}
}
while (Verifier_flamme() == "flamme")
{

102
faire("pmp");
}
}
}
int Verifier_obstacle()
{
const byte dis_nrm_ob = 24, dis_nrm_fr = 18;
long temps_ob, dis_ob, temps_fr, dis_fr;
int sig_fvo;
byte rep;
delayMicroseconds(2);
digitalWrite(trig_ob, 1);
delayMicroseconds(10);
digitalWrite(trig_ob, 0);
temps_ob = pulseIn(echo_ob, 1);
delayMicroseconds(2);
digitalWrite(trig_fr, 1);
delayMicroseconds(10);
digitalWrite(trig_fr, 0);
temps_fr = pulseIn(echo_fr, 1);
dis_ob = temps_ob * 340 / 20000;
dis_fr = temps_fr * 340 / 20000;
if ((dis_ob < dis_nrm_ob) || (dis_fr > dis_nrm_fr))
{
sig_fvo = 1;
}
else
{
sig_fvo = 0;
}

return (sig_fvo);
}
String Verifier_flamme()
{
int val_av, val_ar, val_dr, val_gc, val_thr, val_max;
String sig_fvf;
val_av = analogRead(cif_av);
val_ar = analogRead(cif_ar);
val_dr = analogRead(cif_dr);
val_gc = analogRead(cif_gc);
val_thr = analogRead(cthr);
val_max = max(val_av, val_ar);
val_max = max(val_max, val_dr);
val_max = max(val_max, val_gc);
if ((val_av > val_nrm_if) && (val_av >= val_max))
{

103
if (val_dr > val_gc)
{
sig_fvf = "av_dr";
}
else if (val_gc > val_dr)
{
sig_fvf = "av_gc";
}
else
{
sig_fvf = "av";
}
}
else if ((val_ar > val_nrm_if) && (val_ar >= val_max))
{
if (val_dr > val_gc)
{
sig_fvf = "ar_dr";
}
else if (val_gc > val_dr)
{
sig_fvf = "ar_gc";
}
else
{
sig_fvf = "ar";
}
}
else if ((val_dr > val_nrm_if) && (val_dr >= val_max))
{
sig_fvf = "dr";
}
else if ((val_gc > val_nrm_if) && (val_gc >= val_max))
{
sig_fvf = "gc";
}
else
{
sig_fvf = "rien";
}
if ((val_thr > val_nrm_thr))
{
if (sig_fvf != "rien")
{
sig_fvf = "flamme";
}
}

104
return (sig_fvf);
}
void faire(String action)
{
const int ig = 200, id = ((7.0358 * ig) - 628.21) / 4.617, istp = 90;
String act_prcd;
int i;
if (action == "av")
{
digitalWrite(en1, 1);
digitalWrite(en2, 1);
analogWrite(in1, id);
digitalWrite(in2, 0);
analogWrite(in3, ig);
digitalWrite(in4, 0);
act_prcd = "av";
}
else if (action == "ar")
{
digitalWrite(en1, 1);
digitalWrite(en2, 1);
digitalWrite(in1, 0);
analogWrite(in2, id);
digitalWrite(in3, 0);
analogWrite(in4, ig);
act_prcd = "ar";
}
else if (action == "dr")
{
digitalWrite(en1, 0);
digitalWrite(en2, 1);
digitalWrite(in1, 0);
digitalWrite(in2, 0);
analogWrite(in3, ig);
digitalWrite(in4, 0);
act_prcd = "dr";
}
else if (action == "gc")
{
digitalWrite(en1, 1);
digitalWrite(en2, 0);
analogWrite(in1, id);
digitalWrite(in2, 0);
digitalWrite(in3, 0);
digitalWrite(in4, 0);
act_prcd = "gc";
}

105
else if (action == "st")
{
if (act_prcd == "av")
{
for (i = 50; i <= istp; i++)
{
digitalWrite(en1, 1);
digitalWrite(en2, 1);
digitalWrite(in1, 0);
analogWrite(in2, i);
digitalWrite(in3, 0);
analogWrite(in4, i);
delayMicroseconds(20);
}
digitalWrite(en1, 0);
digitalWrite(en2, 0);
digitalWrite(in1, 0);
digitalWrite(in2, 0);
digitalWrite(in3, 0);
digitalWrite(in4, 0);
}
else if (act_prcd == "ar")
{
for (i = 50; i <= istp; i++)
{
digitalWrite(en1, 1);
digitalWrite(en2, 1);
analogWrite(in1, i);
digitalWrite(in2, 0);
analogWrite(in3, i);
digitalWrite(in4, 0);
delayMicroseconds(50);
}
digitalWrite(en1, 0);
digitalWrite(en2, 0);
digitalWrite(in1, 0);
digitalWrite(in2, 0);
digitalWrite(in3, 0);
digitalWrite(in4, 0);
}
else if (act_prcd == "dr")
{
for (i = 50; i <= istp; i++)
{
digitalWrite(en1, 1);
digitalWrite(en2, 1);
digitalWrite(in1, 0);

106
digitalWrite(in2, 0);
digitalWrite(in3, 0);
analogWrite(in4, i);
delayMicroseconds(50);

}
digitalWrite(en1, 0);
digitalWrite(en2, 0);
digitalWrite(in1, 0);
digitalWrite(in2, 0);
digitalWrite(in3, 0);
digitalWrite(in4, 0);
}
else if (act_prcd == "gc")
{
for (i = 50; i <= istp; i++)
{
digitalWrite(en1, 1);
digitalWrite(en2, 1);
digitalWrite(in1, 0);
analogWrite(in2, i);
digitalWrite(in3, 0);
digitalWrite(in4, 0);
delayMicroseconds(50);
}
digitalWrite(en1, 0);
digitalWrite(en2, 0);
digitalWrite(in1, 0);
digitalWrite(in2, 0);
digitalWrite(in3, 0);
digitalWrite(in4, 0);
}
else
{
digitalWrite(en1, 0);
digitalWrite(en2, 0);
digitalWrite(in1, 0);
digitalWrite(in2, 0);
digitalWrite(in3, 0);
digitalWrite(in4, 0);
digitalWrite(pmp, 0);
}
act_prcd == "st";
}
else if (action == "pmp")
{
if (niveau < 120000)

107
{
digitalWrite(pmp, 1);
delay(2000);
digitalWrite(pmp, 0);
delay(1000);
niveau++;
}
else
{
digitalWrite(led_rouge, 1);
delay(500);
digitalWrite(led_rouge, 0);
delay(500);
}
}
}

int Mise_a_jour(String capteur)


{
const int val_fcnt_if = 500;
int v_cp, v_cp1, v_av, v_ar, v_dr, v_gc;
if (capteur == "cpif")
{
v_av = analogRead(cif_av);
v_ar = analogRead(cif_ar);
v_dr = analogRead(cif_dr);
v_gc = analogRead(cif_gc);
v_cp1 = max(v_av, v_ar);
v_cp1 = max(v_cp, v_dr);
v_cp1 = max(v_cp, v_gc);
if (v_cp1 < val_fcnt_if)
{
v_cp = v_cp1;
digitalWrite(led_rouge, 0);
}
else
{
v_cp = 10000;
digitalWrite(led_rouge, 1);
}
}
else if (capteur == "cpthr")
{
v_cp = analogRead(cthr);
}
else if (capteur == "niv")
{

108
v_cp = 0;
digitalWrite(led_rouge, 0);
}
return (v_cp);
}
void Positionner(String direct)
{
int val_pr, val_av, val_ar;
val_pr = analogRead(cif_pr);
if (direct == "av_dr")
{
faire("dr");
delay(20);
faire("st");
while (val_pr < analogRead(cif_pr))
{
val_pr = analogRead(cif_pr);
faire("dr");
delay(20);
faire("st");
}
faire("gc");
delay(20);
faire("st");
}
else if (direct == "av_gc")
{
faire("gc");
delay(20);
faire("st");
while (val_pr < analogRead(cif_pr))
{
val_pr = analogRead(cif_pr);
faire("gc");
delay(20);
faire("st");
}
faire("dr");
delay(20);
faire("st");
}
else if (direct == "ar_dr")
{
val_ar = analogRead(cif_ar) - 20;
while (analogRead(cif_av < val_ar))
{
faire("dr");

109
}
faire("st");
while (val_pr < analogRead(cif_pr))
{
val_pr = analogRead(cif_pr);
faire("dr");
delay(20);
faire("st");
}
faire("gc");
delay(20);
faire("st");
}
else if (direct == "ar_gc")
{
val_ar = analogRead(cif_ar) - 20;
while (analogRead(cif_av < val_ar))
{
faire("gc");
}
faire("st");
while (val_pr < analogRead(cif_pr))
{
val_pr = analogRead(cif_pr);
faire("gc");
delay(20);
faire("st");
}
faire("dr");
delay(20);
faire("st");
}
else if (direct == "av")
{
faire("dr");
delay(20);
faire("st");
if (val_pr < analogRead(cif_pr))
{
while (val_pr < analogRead(cif_pr))
{
val_pr = analogRead(cif_pr);
faire("dr");
delay(20);
faire("st");
}
faire("gc");

110
delay(20);
faire("st");
}
else if (val_pr > analogRead(cif_pr))
{
faire("gc");
delay(40);
faire("st");
while (val_pr < analogRead(cif_pr))
{
val_pr = analogRead(cif_pr);
faire("gc");
delay(20);
faire("st");
}
faire("dr");
delay(20);
faire("st");
}
}
else if (direct == "ar")
{
val_ar = analogRead(cif_ar) - 20;
while (analogRead(cif_av < val_ar))
{
faire("dr");
}
faire("st");
while (val_pr < analogRead(cif_pr))
{
val_pr = analogRead(cif_pr);
faire("dr");
delay(20);
faire("st");
}
faire("gc");
delay(20);
faire("st");
}
}

111
Bibliographie
[1] 10 questions à Philippe Coiffet sur les robots ; Auteur : Philippe Coiffet, Editions Le Manuscrit,
2009 ; ISBN 978-2-304-02880-5

[2] Robotics: Modelling, Planning and Control; Auteur: Bruno Siciliano, Lorenzo Sciavicco,Luigi
Villani,Giuseppe Oriolo

[3] Robots, genèse d'un peuple artificie; Auteur: Daniel Ichbiah

[4] Springer Handbook of Robotics; Auteur: Bruno Siciliano,Oussama Khatib

[5] Robotics and control; Auteur: Mittal & Nagrath, ISBN 0-07-048293-4

[6] La double contrainte: L'influence des paradoxes de Bateson en Sciences humaines; Auteur :
Jean-Jacques Wittezaele

[7] Belkhadria Khemisti, "commande d’un robot mobile par réseaux de neurones artificiels"
Mémoire en vue de l’obtention du diplôme de magister en électronique. Option: Robotique.
Université El Hadj Lakhdar Batna

[8] Robotics for Electronics Manufacturing: Principles and Applications in cleanroom automation;
Auteur: Karl Mathia, ISBN978-0-521-87652-0Hardback

[9] Mechatronics; Auteur: V.S.Bagad, ISBN9788184314908, Edition 2008.

[10] Computer Aided Manufacturing; C. Elanchezhian,G. Shanmuga Sundar; First Edition 2005,
Second Edition 2007.

[11] Introduction to robotics: analysis, control, applications; Auteur: Saeed B.Niku

[12] Robotics (par Appuu Kuttan) ; Auteur : Appuu Kuttan, ISBN978-81-89866-38-9

[13] Sensors and Actuators: Control System Instrumentation (Par Clarence W. de Silva); Auteur :
Clarence W. de Silva

[14] Abrégé de mesure physique (par Aurelien Pierre); Auteur : Aurélien PIERRE ; 2éme Edition
ISBN979-10-92277-01-2

[15] Les capteurs en instrumentation industrielle (par Georges Asch) ; Auteur : Georges Asch,

7éme Edition

[16] Introduction to Sensors (Par John Vetelino,Aravind Reghu); Auteur: John Vetelino,Aravind
Reghu.

[17] Sensor Technologies: Healthcare, Wellness and Environmental Applications

(Par Michael J. McGrath,Cliodhna Ni Scanaill) ; Auteur : Michael J. McGrath,Cliodhna Ni Scanaill.

[18] Précis de physique et électricité appliquées: sections de technicien ... (Par Albert Terras);
Auteur: Albert Terras; ISBN2-7495-0087-7
[19] Resistive, Capacitive, Inductive, and Magnetic Sensor Technologies (Par Winncy Y. Du);
Auteur: Winncy Y. Du

[20] Field Measurements for Forest Carbon Monitoring: A Landscape-Scale Approach ( par Coeli
M. Hoover); Auteur: Coeli M. Hoover

[21] Handbook of Sensor Networks: Compact Wireless and Wired Sensing Systems (par
Mohammad Ilyas,Imad Mahgoub); Auteur: Mohammad Ilyas,Imad Mahgoub

[22] Electromécanique (Par Marcel Jufer); Auteur : Marcel Jufer; ISBN2-88074-285-4

[23] Matériaux piézoélectriques: caractérisation, modélisation et vibration (Par Michel Brissaud);


Auteur: Michel Brissaud ; ISBN978-2-88074-692-6,1er Edition

[24] Entraînements à Courant Continu (Par Géza Joos,Edward D. Goodman) ; Auteur : Géza
Joos,Edward D. Goodman

[25] Electrotechnique (Par Théodore Wildi,Gilbert Sybille) ;Auteur : Théodore Wildi,Gilbert


Sybille ;3éme Edition

[26] Informatique et automation: automatismes programmables contrôlés par ordinateur

(Par Jean Mbihi) ; Auteur : Jean Mbihi; ISBN2553007981

[27] Théorie élémentaire et pratique de la commande par les régimes glissants (Par Pierre
Lopez,Ahmed Saïd Nouri) ; Auteur : Pierre Lopez,Ahmed Saïd Nouri,ISBN10 3-540-31003-7

[28] Advanced PIC Microcontroller Projects in C: From USB to RTOS with the PIC ... (Par Dogan
Ibrahim); Auteur: Dogan Ibrahim

[29] Microcontrollers: Theory and Applications (Par Ajay V Deshmukh); Auteur: Ajay V
Deshmukh, ISBN0-07-058595-4

[30] Microcontrollers: Features and Applications (Par D. S. Yadav,A. K. Singh); Auteur: D. S.


Yadav,A. K. Singh

[31] Microcontroller and Embedded System (Par A.K. Singh); Auteur: A.K. Singh

[32] Microcontrollers: Architecture, Programming, Interfacing and System Design (Par Raj Kamal);
Auteur: Raj Kamal, ISBN978-81-317-0697-8

[33] Embedded Systems Interfacing for Engineers Using the Freescale HCS08 ... (Par Douglas
Summerville); Auteur: Douglas Summerville, ISBN9781608450053

[34] Microprocessor & Microcontroller (Par A.P.Godse,D.A.Godse) ; Auteur :


A.P.Godse,D.A.Godse,ISBN9788184317695

[35] Microcontrollers Fundamentals for Engineers and Scientists (Par Steven Frank Barrett,Daniel
J. Pack); Auteur: Steven Frank Barrett,Daniel J. Pack, First Edition

[36] Le Chemin De Réussite En Programmation Structurée Algorithmiques & Langage C (Par


Samir ELACHOURI) ; Auteur : Samir ELACHOURI
[37] Le langage C (Par Peter Aitken, Bradley Jones); Auteur : Peter Aitken, Bradley Jones

[38] Le langage C++ (Par Marius Vasiliu); Auteur : Marius Vasiliu,ISBN2-7440-7098-X

[39] Langage C++ (Par Brice-Arnaud Guérin) ; Auteur : Brice-Arnaud Guérin, ISBN :2-7460-2611-
2

[40] Java Programming: Comprehensive Concepts and Techniques (Par Gary Shelly,Thomas J.
Cashman,Joy Starks,Michael Mick); Auteur: Gary Shelly,Thomas J. Cashman,Joy Starks,Michael
Mick

[41] Arduino and Kinect Projects: Design, Build, Blow Their Minds (Par Enrique Ramos Melgar,
Ciriaco Castro Diez); Auteur: Enrique Ramos Melgar, Ciriaco Castro Diez

[42] Arduino: A Complete Guide (Par Tech Guru) ; Auteur : Tech Guru

[43] Make: Arduino Bots and Gadgets: Six Embedded Projects with Open Source ... (Par Tero
Karvinen,Kimmo Karvinen) ;Auteur : Tero Karvinen,Kimmo Karvinen, ISBN978-1-449-38971-0

[44] Projets créatifs avec Arduino (Par Bruno Affagard,Jean-Michel Géridan,Jean-Noël


Lafargue) ;Auteur : Bruno Affagard,Jean-Michel Géridan,Jean-Noël Lafargue,ISBN978-2-7440-
2617-1

[45] Getting Started with Arduino (Par Massimo Banzi); Auteur: Massimo Banzi,ISBN978-1-449-
309879,First Edition

[46] Arduino Adventures: Escape from Gemini Station (Par James Floyd Kelly,Harold Timmis);
Auteur: James Floyd Kelly,Harold Timmis

Vous aimerez peut-être aussi