Rapport interface terminal

59
MEMOIRE Présenté à L’Institut Supérieur d’Informatique et de Multimédia de Sfax En vue de l’obtention du diplôme de LICENCE FONDAMENTALE en Informatique et Multimédia intitulé Commande de robot Par Foued ALOUI Bilel SOUISSI Soutenu le 3 Juin 2014, devant le jury composé de : M. Lamia CHAARI Président M. Karim MASMOUDI Membre M. Mohamed MILADI Encadreur M. Bilel BELWEFI Invité Entreprise Année Universitaire : 2013-2014 Mémoire de stage de Licence fondamentale en Sciences de l’Informatique Sciences et Technologies d’ordre : 188 République Tunisienne Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de Sfax Institut Supérieur d’Informatique et de Multimédia de Sfax

Transcript of Rapport interface terminal

Page 1: Rapport interface terminal

MEMOIRE

Présenté à

L’Institut Supérieur d’Informatique

et de Multimédia de Sfax

En vue de l’obtention du diplôme de

LICENCE FONDAMENTALE

en Informatique et Multimédia

intitulé

Commande de robot

Par

Foued ALOUI

Bilel SOUISSI

Soutenu le 3 Juin 2014, devant le jury composé de :

M. Lamia CHAARI Président

B. M. C. Karim MASMOUDI Membre

D. M. E. Mohamed MILADI Encadreur

F. M. G. Bilel BELWEFI Invité Entreprise

Année Universitaire : 2013-2014

A.

Mémoire de stage de Licence fondamentale en Sciences de

l’Informatique

Sciences et Technologies

N° d’ordre : 188

République Tunisienne Ministère de l’Enseignement Supérieur

et de la Recherche Scientifique

Université de Sfax

Institut Supérieur d’Informatique

et de Multimédia de Sfax

NOUSSA
Texte tapé à la machine
NOUSSA
Texte tapé à la machine
NOUSSA
Texte tapé à la machine
A
NOUSSA
Texte tapé à la machine
NOUSSA
Texte tapé à la machine
NOUSSA
Texte tapé à la machine
Page 2: Rapport interface terminal

Dédicace

Dédicace

Je dédie ce modeste travail à celle qui m’a donnés la vie, le symbole

de tendresse, qui s’a sacrifiée pour mon bonheur et mon réussite, à ma

mère Mariem…

A mon père Mohamed, école de mon enfance, qui a été mon ombre

durant toutes les années des études, et qui a veillé tout au long de ma

vie à m’encourager, à me donner l'aide et à me protéger.

Que dieu le garde et le protège.

A mes adorables sœurs,

A mon frère Nizar,

A mes amis,

A tous ceux qui me sont chères,

A tous ceux qui m’aiment,

A tous ceux que j’aime,

Je dédie ce travail.

Bilel …

Page 3: Rapport interface terminal

Dédicace

Dédicace

A mes chers parents Abidi && Dhahbia,

Que nulle dédicace ne puisse exprimer ce que je leurs dois, pour leur

bienveillance, leur affection et leur soutien… Trésors de bonté, de

générosité et de tendresse, en témoignage de mon profond amour et ma

grande reconnaissance « Que Dieu vous gardes ».

A mes chers frères et à mes chères sœurs.

En témoignage de mes sincères reconnaissances pour les efforts

qu’ils ont consenti pour l’accomplissement de mes études. Je leur dédie

ce modeste travail en témoignage de mon grand amour et ma

gratitude infinie.

Au symbole de pureté,

A mes chers amis, symbole d’amitié,

Pour leur aide et leur soutien moral durant l’élaboration du travail de

fin d’étude.

A toute ma Famille élargie…

A tous mes amis…A tous ceux qui m'aiment et tous ceux qui j’aime…

Foued …

Page 4: Rapport interface terminal

Remerciements

Remerciements

Merci ALLAH (mon dieu) de nous avoir donné la capacité d'écrire

et de réfléchir, la force d'y croire, la patience d'aller jusqu'au bout du

rêve et le bonheur de lever nos mains vers le ciel et de dire " Ya

Kayoum "

Ensuite nous tenons à remercier toute l’équipe pédagogique de

l'institut supérieur d’informatique et de multimédia de Sfax et les

intervenants professionnels responsables.

Avant d’entamer ce rapport, nous profitons de l’occasion pour

remercier tout d’abord notre professeur Monsieur Mohamed Miladi

qui n’a pas cessé de nous encourager pendant la durée du projet, ainsi

pour sa générosité en matière de formation et d’encadrement. Nous le

remercions également pour l’aide et les conseils concernant les

missions évoquées dans ce projet, qu’il nous a apporté lors des

différents suivis, et la confiance qu’il nous a témoigné.

Nous tenons à remercier nos professeurs de nous avoir incités à

travailler en mettant à notre disposition leurs expériences et leurs

compétences.

Merci aussi aux membres de jury Madame Lamia CHAARI et

Monsieur Karim MASMOUDI pour l’attention dont ils ont fait preuve

vis-à-vis de notre travail.

Finalement, nous remercions nos amis qui nous ont encouragés

pendant la durée de travail.

Page 5: Rapport interface terminal

Sommaire

Sommaire

Dédicace ...………………………………………………………………………..

Remerciements ....……………………….…………………….………………….

Table des figures ....…………………………………………….….......................

Glossaire ...………………………………………………………………………..

Introduction générale…………………………………………………………….1

Chapitre 1 : Contexte du projet

I. Introduction ................................................................................................................... 2

II. Contexte .......................................................................................................................... 3 III. Spécification des besoins ............................................................................................... 4

1. Présentation du projet .................................................................................................. 4 2. Cahier des charges ........................................................................................................ 5 3. Tâches à réaliser ............................................................................................................ 5

IV. Objectifs ......................................................................................................................... 6 V. Planning .......................................................................................................................... 6

VI. Conclusion ...................................................................................................................... 7

Chapitre 2 : Les technologies utilisées

I. Technologies de communication .................................................................................. 8

1. Communication sans fils ............................................................................................... 8

1.1. GSM ............................................................................................................................ 8 1.2. Infrarouge ................................................................................................................... 8

1.3. Bluetooth ..................................................................................................................... 8 1.4. Wi-Fi ........................................................................................................................... 9 1.5. 3G ................................................................................................................................ 9

1.6. Uwb ............................................................................................................................. 9 1.7. Zigbee .......................................................................................................................... 9

2. Module de communication Xbee ................................................................................ 10

2.1. Définition .................................................................................................................. 10 2.2. Principales caractéristiques du Xbee ..................................................................... 11 2.3. Communication avec l'ordinateur ......................................................................... 11

II. Les kits de développement .......................................................................................... 12

Page 6: Rapport interface terminal

Sommaire

1. Environnement Arduino ............................................................................................. 12

1.1 Vue d’ensemble ........................................................................................................ 12 1.2 Partie matérielle ....................................................................................................... 13 1.3 Partie logicielle ......................................................................................................... 15

2. L’environnement Raspberry Pi ................................................................................. 15

2.1 Vue d’ensemble ........................................................................................................ 15 2.2 Partie matérielle de Raspberry PI ......................................................................... 16 2.3 Partie logicielle de Raspberry PI ............................................................................ 17

III. Les langages de programmation ................................................................................ 17

1. Programme embarqué ................................................................................................ 17 2. Script de communication ............................................................................................ 17

IV. Solution proposée ........................................................................................................ 18 V. Conclusion .................................................................................................................... 20

Chapitre 3 Réalisation

I. Introduction ................................................................................................................. 21

II. Etude technique ........................................................................................................... 21

1. Configuration des modules Xbee ............................................................................... 21

1.1. Configuration d’un module Xbee avec une carte Raspberry PI ......................... 21

1.2. Configuration du module Xbee avec une carte Arduino ..................................... 25

2. Installation du serveur SSH ....................................................................................... 26 3. Installation du logiciel de connexion à distance ‘putty’ ........................................... 27

4. Réalisation de montage électronique ......................................................................... 27

3.1 Composants électroniques ...................................................................................... 27

3.2 Commande du moteur ............................................................................................. 30 3.3 Montage électronique de la solution proposée ...................................................... 31

III. Présentation du terminal de commande et explication du fonctionnement ........... 34

1. Présentation du terminal de commande .................................................................... 34 2. Explication de fonctionnements ................................................................................. 35

Conclusion générale ............................................................................................................... 37 Perspectives ............................................................................................................................. 38

Annexe du module Xbee ........................................................................................................ 39 Annexe sur Raspberry PI ...................................................................................................... 40 Bibliographie ........................................................................................................................... 41

Page 7: Rapport interface terminal

Table des figures

Table des figures

Figure 1 : Système électronique.……………………………………….………………...…….2

Figure 2 : Système informatique.………………………………………………………………2

Figure 3 : Application domotique……………………………………………………………...3

Figure 4 : Carte de pilotage.…………………………………………….………………….…..5

Figure 5 : Carte de commande……………………………...………….…………………...….5

Figure 6 : Chronogramme de réalisation de projet.…………………….………………….…..6

Figure 7 : Zigbee par rapport les autres protocoles sans fils.………….…………………...…10

Figure 8 : Module Xbee.…………………………………………….…..………………...….11

Figure 9 : Communication avec l’ordinateur.……………………………………………..….11

Figure 10 : Carte Arduino Uno…………………………………….…..……………………..12

Figure 11 : Port USB de la carte Arduino ……………………….…………………………...13

Figure 12 : Les entrées sorties numériques d’Arduino………….……………………………14

Figure 13 : Les entrées analogiques d’Arduino………………...…………………………….14

Figure 14 : Diagramme en block d’une carte Raspberry pi….……………………………….15

Figure 15 : Carte Raspberry Pi réelle ……………………...………………………………....16

Figure 16 : Schéma descriptif proposé pour le projet.………………………………………..18

Figure 17 : Liaison entre carte Raspberry pi et module Xbee..…………....………………….19

Figure 18 : Liaison entre carte Arduino et module Xbee..........................................................19

Figure 19 : Liaison directe entre une carte Raspberry pi et un module Xbee. ……………….21

Page 8: Rapport interface terminal

Table des figures

Figure 20 : Installation des paquetages python ………………………………………………22

Figure 21 : Commande d’ouverture du fichier cmdline.txt……………………………….......22

Figure 22 : Modification du fichier cmdline.txt…………………………………………...….22

Figure 23 : Accès au fichier inittab……..…………………………………….……………....23

Figure 24 : Modification du fichier /etc/inittab…………………………………………….....23

Figure 25 : Redémarrage de la carte Raspberry pi …………………………………………...23

Figure 26 : Configuration du baudrate et du port du communication…… …………………..24

Figure 27 : Terminal de la configuration du paramètres du module Xbee…….……………..25

Figure 28 : Liaison entre carte Arduino et module Xbee …………………………………….25

Figure 29 : Interface du logiciel Arduino …………………………………………………….26

Figure 30 : Configuration du serveur SSH…………………………………….………….......26

Figure 31 : Icône et interface de ‘putty’………………………………………...…………….27

Figure 32 : Montage du diviseur de tension………………………………………..…………28

Figure 33 : Schéma d’un transistor………………………………………………….………..28

Figure 34 : Transistor en mode commutation………………………………………………...29

Figure 35 : Schéma électrique d’un relais...………………………………………….……….29

Figure 36 : Régulateur..……………………………………………………………….………30

Figure 37 : Utilisation d’un potentiomètre……………………………………………...…….30

Figure 38 : Modulation PWM……………………………………………………………..….31

Figure 39 : Montage de la carte de pilotage…………………………………………………..32

Figure 40 : Montage de la carte de commande …………………………………....................32

Page 9: Rapport interface terminal

Table des figures

Figure 41 : Test de fonctionnement avec deux cartes Arduino ………………………..…….33

Figure 42 : Montage d’essai, partie émetteur ………………………………………………..33

Figure 43 : Terminal de commande ………………………………………………………….34

Figure 44 : Connexion à la carte de commande………………………………………………35

Figure 45 : Configuration des paramètres de connexion entre la carte Raspberry pi et le

module Xbee………………………………………………………………………………….36

Figure 46 : Lancement d’ordre ……………………………………………………………….36

Figure 47 : Cryptage de caractère d’ordre ……………………………………………………37

Figure 48 : Décryptage de caractère d’ordre………………………………………………….37

Figure 49 : Fonctionnement de la carte de pilotage…………………………………………..38

Figure 50 : Quelques entrées-sorties du module Xbee…………………….…………………39

Figure 51 : Les GPIOs de la carte Raspberry pi……………………………………………...40

Page 10: Rapport interface terminal

Glossaire

Glossaire

API: Application Programming Interface

CMOS: Complementary Metal Oxide Semi-conductor

CSI: Camera Serial Interface

DSI: Display Serial Interface

EDGE: Enhanced Data rates for GSM Evolution

GSM: Global System for Mobile communications

GPRS: General Packet Radio Services

HDMI: High Definition Multimedia Interface

IHM: Interface Homme Machine.

IEEE: Institute of Electrical and Electronic Engineers.

JTAG: Joint Test Access Group

MIT: Massachusetts Institute of Technology

LFIM : licence fondamentale d’informatique et de multimédia.

LAN: Local Architecture Network

PWM: Pulse Width Modulation

SSH: Secure Shell

ULB: Ultra Large Bande

UMTS: Universal Mobile Telecommunications System

UWB: Ultra WideBand

WLAN: Wireless Local Area Network

Page 11: Rapport interface terminal

Glossaire

WPAN: Wireless Personal Area Networks

Wi-Fi: Wireless Fidelity

3G : Troisième génération

Page 12: Rapport interface terminal

Introduction générale

1

Introduction générale

L’émergence de la technologie des microprocesseurs et l’apparition de plusieurs

organismes de standardisation ont constitue un tournant technologique important qui a permis

aux systèmes embarqués de devenir une réalité très vite perceptible et susceptible d’être

utilisé dans un environnement matériels de faible performances ( si l’on compare au PC de

bureau d’aujourd’hui). Leur succès est en grande partie dû à leurs facilités d’utilisation, aux

nombreux services qu’ils offrent, à la baisse de prix et à l’utilisation optimale et efficace des

ressources et d’énergie.

De ce fait, les systèmes embarqués mobiles à base de microprocesseurs ont été introduit

dans de nombreux domaines d’applications tels que la domotique, les robots, les terminaux de

communication sans fil, etc. Ce dernier consiste à commander un robot d’une manière

distante.

Dans ce cadre s’inscrit notre projet de stage de fin d’étude qui consiste à la réalisation

d’une solution de commande distante d’un chariot, en direction et en vitesse et ce en utilisant

des kits de développement embarqué et des modules de communications Zigbee.

Le présent rapport s’article autour de trois chapitres :

En premier lieu, le premier chapitre s’intéresse à la présentation du projet pour spécifier le

cahier des charges.

Le second chapitre a pour objets de mettre en œuvre les technologies utilisées. A savoir, les

cartes électroniques (Arduino uno, Raspberry PI) et ses méthodes de programmations.

Finalement, le troisième chapitre de notre rapport, concerne la partie réalisation pratique de

notre projet et l’explication de fonctionnement de la communication entre la partie émettrice

et la partie réceptrice moyennant une connexion à distance et les modules de communications

Zigbee.

Page 13: Rapport interface terminal

Chapitre 1

Contexte du

projet

Page 14: Rapport interface terminal

Chapitre 1 : Contexte du projet

2

I. Introduction

Il s’agit en fait de réaliser une combinaison entre l’informatique et l’électronique que nous

avons eu l’occasion d’accomplir au sein de l’Institut Supérieur de l’Informatique et de

Multimédia de Sfax. Nous allons dans ce qui suit ces deux types de systèmes.

- Système électronique : Un système électronique est un système opérant sur de

faibles courants. Il se compose essentiellement d'un calculateur câblé ou programmé,

et est relié sur son entrée à des capteurs et sur sa sorties à des actionneurs [1].

-Figure N°1 : Système électronique-

- Système informatique : Un système informatique est un ensemble d'équipements

destinés au traitement automatique de l'information [2].

Sur la figure 2, nous représentons les différentes parties d’un système informatique.

-Figure N°2 : Système informatique-

- Système embarqué : Un système électronique embarqué est un système électronique et

informatique autonome associant un regroupement de fonctionnalité tel le

conditionnement, l'acquisition de signaux issus de capteurs, le traitement

d'information, le contrôle des actionneurs et aussi le stockage et le transfert

d'information filaire ou radio [3].

Périphériques de sortie :

Imprimante, écran, …

Organes de stockage :

Disque dur, clé USB, …

Périphériques d’entrée :

Clavier, souris, … Unité de

traitement

Page 15: Rapport interface terminal

Chapitre 1 : Contexte du projet

3

II. Contexte

Les systèmes informatiques embarqués sont devenus ces dernières années de plus en plus

complexes, requérant une pluridisciplinarité très large, pour des applications toujours plus

nombreuses. Les applications initiales des systèmes embarqués étaient essentiellement le

spatial et l’aéronautique, pour ensuite devenir des outils de base pour la téléphonie, le

transport, la santé, le commerce électronique, l’éducation, la domotique... autrement dit des

enjeux stratégiques importants. Des disciplines comme la conception de logiciel, les systèmes

et les réseaux sont devenues très importantes pour la conception des systèmes embarqués.

Pour une description des domaines d’utilisation des systèmes embarqués on site, par

exemple la domotique. Comme le montre la figure 3, la domotique est l'ensemble des

technologies qui contrôle nos appareils de la maison via un Smartphone, une tablette ou un

ordinateur c'est ce qu'on appelle de la domotique [4]. Ces objets connectés se contrôlent à

distance et apportent du bien-être et de la sécurité à ses utilisateurs.

-Figure N°3 : Application domotique-

Les systèmes embarqués sont aujourd’hui présent partout autour de nous, on les retrouve

dans les domaines de transport, de l’industrie, la robotique et bien d’autres.

Page 16: Rapport interface terminal

Chapitre 1 : Contexte du projet

4

III. Spécification des besoins

Dans notre projet, nous somme demandé de réaliser un système de contrôle d’un chariot

industriel à distance en se basant sur la communication sans fils entre cette dernière et une

carte de commande (nano ordinateur), en essayant d’exploiter des langages de

programmations et des plateformes électroniques qui sont sur la marché.

1. Présentation du projet

Partant de la base d’un véhicule télécommandé commercialisé, le but du projet est de

piloter un chariot industriel moyennant une connexion à distance. Le contrôle doit pouvoir

s’effectuer à distance par un utilisateur, grâce à une interface homme-machine (IHM) et une

technologie de communication sans fil. La réalisation de ladite solution doit présenter une

flexibilité pour pouvoir l’étendre envers l’utilisation industrielle. La finalité de ce projet est de

contrôler le chariot en utilisant un réseau Zigbee. Cela permet de piloter les déplacements du

chariot sans intervention directe, alors l’utilisateur pourra rester tranquillement assis face à

son poste de travail du coup il ne sera pas limité par un fil reliant le chariot et sa

télécommande. Celui-ci sera, de plus, parfaitement autonome et comprendra une alimentation

embarquée. Son seul lien avec l’utilisateur sera donc la connexion Zigbee.

Le chariot industriel sera ainsi pilotable de n’importe où, car il pourra être considéré comme

un simple périphérique branché sur le réseau comme les autres. Les avantages immédiats d’un

tel projet sont donc une parfaite ergonomie et de nombreuses fonctionnalités pour une

utilisation la plus simple possible. Ainsi, il est facile d’imaginer des applications pratiques de

ce projet. Moyennant quelques modifications, ce véhicule pourrait par exemple s’inscrire dans

la réalisation d’un robot explorateur en milieu dangereux qu’un spécialiste contrôlerait de

n’ importe où dans le monde, s’appuyant sur l’infrastructure réseau existante. On peut, par

exemple, également penser à un robot domestique utilisant ce principe : pour une maison

intelligente déjà équipée d’un réseau Zigbee, la connexion du robot avec l’extérieur ne

nécessite aucune installation matérielle supplémentaire. En équipant le robot d’outils

adéquats, les applications deviennent alors infinies. Le robot pourrait ainsi avertir son

propriétaire de lui même s’il détecte quelque chose d’anormal (fuite de gaz,...). En installant

une reconnaissance de contour, il devient possible pour le robot d’interpréter son

environnement et de devenir parfaitement autonome.

Page 17: Rapport interface terminal

Chapitre 1 : Contexte du projet

5

2. Cahier des charges

Il s’agit de développer une solution embarquée pour la commande sans fil d’un chariot. La

solution intègre 3 parties :

- Commander le moteur du chariot : on peut commander le chariot en sens de

mouvement, en vitesse de mouvement.

- Commande sans fil de la carte de pilotage : en utilisant des composantes électroniques,

on va essayer d’atteindre le succès de pilotage du chariot sans fil.

- Trouver une solution pour se connecter à la carte de commande.

3. Tâches à réaliser

Pour la réalisation du cahier des charges ci-dessous il faut exécuter les tâches suivantes :

- Configuration d’un réseau Xbee : il s’agit de connecter des systèmes embarqués en

utilisant deux modules Xbee pour déployer un réseau sans fil qu’on peut l’utiliser pour

le transfert des commandes entre la carte de commande et celle de pilotage.

- Programmer la carte de pilotage du chariot : il faut que le chariot soit capable de

répondre aux ordres venant de la carte de commande, ainsi cette dernière doit être

programmée d’une façon qu’elle délivre les commandes nécessaires au pilotage.

- Développer la carte de commande : c’est une carte électronique « Raspberry PI » qui

permet la communication avec le chariot.

-Figure N °4 : Carte de pilotage - -Figure N °5 : Carte de commande-

Carte Arduino

M

Carte Raspberry pi

Internet

Ordinateur

Page 18: Rapport interface terminal

Chapitre 1 : Contexte du projet

6

IV. Objectifs

Parmi nos objectifs nous citons :

- Commande en marche avant et marche arrière : il faut que l’utilisateur puisse guider le

robot dans les deux directions, selon son choix.

- Commande en vitesse de marche : l’utilisateur peut gérer la vitesse selon des niveaux

bien déterminés.

- Déploiement d’un réseau zigbee : pour commander le chariot à distance il faut mettre

en place un réseau, qui va être composé de Modules Xbee.

V. Planning

La figure 6 décrit la manière de déroulement de notre travail :

-Figure N° 6 : Chronogramme de réalisation de projet-

Page 19: Rapport interface terminal

Chapitre 1 : Contexte du projet

7

VI. Conclusion

Il ne fait plus aucun doute que l’informatique, l’électronique et la télécommunication

représentent une révolution importante qui a marqué l’humanité durant les dernières années.

En effet, toutes ces disciplines nous apportent de multiples conforts à notre vie. Aucun

domaine n’est resté étranger à ces disciplines qui offrent tant de services aussi bien pour

l’entreprise, pour l’administration ainsi que pour le personnel.

Dans ce contexte, nous avons introduit les besoins de l’application à développer tout en

mettant l’accent sur les fonctionnalités à mettre en œuvre, entre autres, la commande sans fil

d’un chariot industriel via une connexion à distance.

Comme phase de préparation à notre projet, nous allons étudier les différentes composantes

électroniques que nous allons utiliser dans notre implémentation ainsi que les langages de

programmation que nous allons utiliser pour commander ces composantes.

Page 20: Rapport interface terminal

Chapitre 2

Les

technologies

utilisées

Page 21: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

8

I. Technologies de communication

Quand il s'agit de concevoir des systèmes embarqués, interactifs ou bien quand des objets

doivent communiquer entre eux, plusieurs techniques de communication sont envisageables,

parmi eux celles sans fil qui offrent de la mobilité, l’un des aspects principaux des systèmes

embarqués. Dans ce paragraphe nous allons faire le point sur les technologies de

communication sans fil.

1. Communication sans fils

Il existe plusieurs techniques de communication sans fil qui sont différentes en matière de

caractéristiques. Entre autres, le débit offert ainsi que la couverture.

1.1. GSM

Le réseau GSM constitue au début du 21ème siècle le standard de téléphonie mobile le plus

utilisé en Europe. Il s'agit d'un standard de téléphonie dit « de seconde génération » (2G) car,

contrairement à la première génération de téléphones portables, les communications

fonctionnent selon un mode entièrement numérique [5].

1.2. Infrarouge

Le rayonnement infrarouge est le rayonnement électromagnétique dont la longueur d'onde

est comprise entre 700 nanomètres et 1 millimètre. Ainsi, il se situe entre la limite rouge du

spectre visible et les plus courtes micro-ondes. Tous les corps dont la température est

supérieure au zéro absolu émettent un rayonnement infrarouge [6].

1.3. Bluetooth

Le Bluetooth est un protocole de connexion sans fil à courte portée qui ne dépasse pas une

dizaine de mètres. Par l'intermédiaire de celui-ci, il est possible de connecter différents

appareils entre eux (ordinateurs, téléphones portables...) [7].

Page 22: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

9

1.4. Wi-Fi

Le Wi-Fi est un ensemble de protocoles de communication sans fil régi par les normes du

groupe IEEE 802.11. Un réseau Wi-Fi permet de relier sans fil plusieurs appareils

informatiques avec un débit élevé (3Mbits/s) et 100m comme zone de

couverture (ordinateur, routeur, décodeur Internet, etc.) au sein d'un réseau informatique afin

de permettre la transmission de données entre eux [8].

1.5. 3G

La troisième génération (3G) désigne une génération de normes de téléphonie mobile. Elle

est représentée principalement par les normes Universal Mobile Télécommunications

System (UMTS ) , permettant des débits qui sont bien plus rapides qu'avec la génération

précédente, par exemple le GSM [9].

Les premières applications grand public de la 3G sont l'accès à Internet, le visionnage de

vidéos, voire d'émissions de télévision et la visiophonie .

1.6. Uwb

L’UWB, (en français ULB) est une technique de modulation radio qui est basée sur la

transmission d'impulsions de très courte durée. L’UWB peut être utilisé en tant que technique

de communication sans fil, qui fournit des taux de transfert réseaux très élevés sur des

distances relativement courtes et à faible puissance [10].

1.7. Zigbee

Zigbee est un protocole de haut niveau permettant la communication de petites radios, à

consommation réduite, basée sur la norme IEEE 802.15.4 pour les réseaux à dimension

personnelle (WPAN). Cette technologie a pour but la communication de courte distance telle

que le propose déjà la technologie Bluetooth, tout en étant moins chère et plus simple [11].

Nous situons sur la figure 7, la technologie de communication Zigbee par rapport aux autres.

Page 23: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

10

-Figure N °7 : Zigbee par rapport aux autres protocoles sans fils –

Les avantages de Zigbee :

La principale caractéristique de cette technologie est sa très faible consommation. Celle-ci

permet à Zigbee d'être aujourd'hui présente dans les environnements embarqués. Zigbee est

également de plus en plus présente dans les contrôles industriels ou dans certaines

applications médicales. On peut enfin retrouver Zigbee dans de nombreux capteurs et

télécommandes à l'usage plus quotidien. Zigbee équipe ainsi la télécommande de certains

modems Internet.

2. Module de communication Xbee

L’un des modules de communication permettant la communication Zigbee, nous trouvons les

modules Xbee que nous les traitons dans le paragraphe suivante.

2.1. Définition

Les modules Xbee sont des modules de communication sans fil très populaires, fabriqués

par l'entreprise Digi International, et qui utilise le protocole zigbee qui est un protocole de

communication par ondes radios [12].

Sur la figure 8, nous présentons l’image du module Xbee que nous allons utiliser dans notre

application de commande.

Page 24: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

11

-Figure N°8 : Module Xbee –

2.2. Principales caractéristiques du Xbee

Le module Xbee présente les caractéristiques techniques suivantes :

- Fréquence porteuse : 2.4Ghz

- Portées variées : assez faible pour les Xbee 1 et 2 (10 - 100m).

- Faible débit : 250kbps

- Faible consommation : 3.3V @ 50mA

- Sécurité : communication fiable avec une clé de chiffrement de 128-bits

- Simplicité d'utilisation : communication via le port série

- Ensemble de commandes AT et API

- Flexibilité du réseau : sa capacité à faire face à un nœud hors service ou à intégrer de

nouveaux nœuds rapidement

- On peut avoir un grand nombre de nœuds dans le réseau : 65000

- Topologies possibles : maillé, point à point, point à multipoint.

2.3. Communication avec l'ordinateur

-Figure N°9 : Communication avec l’ordinateur –

Page 25: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

12

Pour établir une communication avec l'ordinateur, il suffit de mettre en place une

communication série entre ce module et un ordinateur de bureau ou embarqué. Il faut alors

adopter les signaux entre le module et l’ordinateur de configuration.

II. Les kits de développement

1. Environnement Arduino

1.1 Vue d’ensemble

Les modules Arduino sont des plates-formes de prototypage micro contrôlées "open-

source" spécialement conçues pour les artistes, les concepteurs et toute personne intéressée

par la création d'objets ou environnements interactifs [13].

L’Arduino propose plusieurs types de cartes de développement qui se présentent sous forme

de circuit imprimé sur lequel se trouve un microcontrôleur pour analyser et produire des

signaux électriques de manière à effectuer des tâches très diverses comme la domotique, la

robotique et tous types d’applications embarqués. Nous imagions sur la figure 10, la carte

Arduino de type Uno qui est construite autour d’un microcontrôleur de type Atmega 1280.

-Figure N°10 : Carte Arduino uno –

Une carte Arduino Uno présente les interfaces suivantes :

Port USB.

14 entrées/sorties numériques GPIO.

6 entrées analogiques.

Page 26: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

13

1.2 Partie matérielle

Une carte Arduino est généralement construite autour d'un microcontrôleur, et de

composants complémentaires qui facilitent la programmation et l'interfaçage avec d'autres

circuits. Chaque module possède au moins un régulateur linéaire 5 V.

L'Arduino utilise la plupart des entrées/sorties du microcontrôleur pour l'interfaçage avec les

autres circuits.

1.2.1 Microcontrôleur

Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un

ordinateur : processeur, mémoires, unités périphériques et interfaces d'entrées-sorties.

Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, une plus faible

consommation électrique, une vitesse de fonctionnement plus faible et un coût réduit.

1.2.2 Les interfaces de la carte Arduino

- Port USB : c’est le port qui nous permet de relier la carte Arduino avec l’ordinateur,

ainsi il facilite la programmation de la carte Arduino et aussi nous pouvons l’utiliser

comme étant une source d’alimentation pour cette carte.

-Figure N°11 : Port USB de la carte Arduino-

Page 27: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

14

- Les entrées/sorties numériques GPIO : Les entrées et sorties numériques sont les plus

simples à comprendre, chacune des broches peut être configurée soit en entrée, soit en

sortie. Par défaut, toutes les broches sont en entrée. En entrée, on appliquera sur la

broche soit un état haut (5 Volts) soit un état bas (0 Volts) et on récupérera l'état dans

notre programme.

En sortie, on pourra positionner 0 ou 5 Volts sur la broche et on peut ainsi contrôler

différents composants ou capteurs.

-Figure N°12 : Les entrées-sorties numériques d’Arduino-

- Les entrées analogiques : Les entrées (broches) analogiques permettent de convertir

des valeurs analogiques (une tension) en valeurs numériques. Ces entrées utilisent

donc un convertisseur analogique numérique comme des capteurs de lumière,…

En appliquant une tension de 0 à 5V en entrée, on récupérera des valeurs entre 0 et

1023 dans notre microcontrôleur.

-Figure N°13 : Les entrées analogiques -

Les entrées analogiques

GPIO

Page 28: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

15

1.3 Partie logicielle

Le logiciel de programmation des modules Arduino est une application Java, libre et

multiplateforme, servant d'éditeur de code et de compilateur, et qui peut transférer

le firmware et le programme au travers de la liaison série (RS-232, Bluetooth ou USB selon le

module). Il est également possible de se passer de l'interface Arduino, et de compiler et

charger les programmes via l'interface en ligne de commande.

Le langage de programmation utilisé est le C++ et lié à la bibliothèque de développement

Arduino, permettant l'utilisation de la carte et de ses entrées/sorties. La mise en place de ce

langage standard rend aisé le développement de programmes sur les plates-formes Arduino, à

toute personne maîtrisant le C ou le C++.

2. L’environnement Raspberry Pi

Dans ce paragraphe nous mettons en revue l’environnement Raspberry PI que nous allons

adopter comme ordinateur d’envoie.

2.1 Vue d’ensemble

Le Raspberry Pi est une nano-ordinateur mono-carte à processeur ARM (puissant et a faible

consommation), permet l'exécution de plusieurs variantes du système d'exploitation libre

GNU/Linux [14].

Sur les figures 14 et 15 nous illustrons les différents composants et interfaces de ce mini

ordinateur.

-Figure N° 14 : Diagramme en blocs d’une carte Raspberry pi-

Page 29: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

16

-Figure N°15 : Carte Raspberry Pi réelle –

2.2 Partie matérielle de Raspberry PI

Le cœur de système est constitué d’un processeur cadencé à 700MHz, d’un processeur

graphique VideoCore IV, d’un processeur de signal numérique et de 256 (modèle A) à 512

Mo (modèle B) de RAM. Il ne nécessite pas de disque dur, le système d'exploitation est

contenu dans la carte SD qui agit également comme un dispositif d'amorçage (de démarrage).

Cette carte représente les connecteurs suivants :

- Connecteur GPIO 26 broches.

- Connecteur pour un moniteur LCD/OLED avec interface DSI.

- Connecteur pour un moniteur ou un téléviseur avec sortie vidéo composite.

- Connecteur pour carte mémoire SD.

- Connecteur JTAG.

- Connecteur CSI .Toutes les caméras utilisées dans les Smartphones avec capteur

CMOS doit être compatible avec le RaspberryPi.

- Deux connecteurs USB. Pour étendre les ports USB on peut employer un HUB USB,

cependant il doit avoir une alimentation externe.

- Connecteur Ethernet RJ-45.

- Connecteur HDMI pour connecter un moniteur vidéo de haute qualité.

- Connecteur d’alimentation au format micro USB, pour alimenter le RaspberryPi, on

ne doit pas dépasser 1 A.

Page 30: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

17

2.3 Partie logicielle de Raspberry PI

La carte Raspberry PI est un système informatique miniaturisé, qui supporte plusieurs

variantes de systèmes d’exploitation dont nous détaillons les suivants. Elle reçoit la

distribution Linux Debian, qui est universellement considérée comme la plus difficile, c’est

pourquoi nous ne manquerons de rien, toute la distribution se trouve sur une carte SD, y

compris le système d’exploitation, et si par hasard on effectue une opération irréversible,

aucune crainte, on peut restaurer la SD et repartir à nouveau. Pour cela, sur ce système nous

allons tourner notre application distante à fin de le télécharger à partir de la carte Raspberry

PI.

III. Les langages de programmation

Il existe plusieurs langages de programmation dont nous décrivons brièvement ceux que

nous allons adopter pour aboutir à notre réalisation. Nous catégorisons ces langages suivant la

partie où nous les adopterons.

1. Programme embarqué

Il s’agit du programme qui va recevoir les commandes de pilotage du moteur du chariot

captées par le module de communication Xbee. Le programme est écrit dans le langage

Arduino puisque notre carte est de type Arduino. Ce langage est très proche du C et du C++.

Il contient des bibliothèques qui sont une collection de code qui le rend facile pour se

connecter à un capteur, affichage, module, etc… [15].

2. Script de communication

Pour configurer le module de communication Xbee et le piloter via des commandes AT, il

est possible d’utiliser plusieurs langages comme le python que nous l’adoptons dans notre cas.

Python : Python est un langage de programmation objet multiplateformes. Il favorise la

programmation impérative structurée et orientée objet, c’est un langage clair et puissant et

comparable à Perl et Java [16].

A cause de l’évolution des langages de programmations, nous sommes obligés de savoir

comment nous choisissons le langage convenable pour achever l’exécution parfaite de ce que

nous voulons.

Page 31: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

18

Dans ce cadre, notre choix du langage ‘’PYTHON’’ est basé sur ses points forts, débutant

par son placement sous une licence libre. De plus, ce langage est multiplateformes (Windows,

Linux, …) et facile à apprendre grâce à la simplicité de son syntaxe. Aussi, il offre des

bibliothèques qui assurent l’obtention des résultats concrets.

IV. Solution proposée

Sur la figure 16, nous représentons l’architecture de notre application. Cette figure montre

les modules constituant notre architecture et les généralités à propos les liaisons nécessaires

entre les différents modules.

-Figure N°16 : Schéma descriptif proposé pour le projet -

Cette figure explique la façon dont nous allons interconnecter les composants de notre

système pour réussir le contrôle d’un chariot à distance. Le système développé est composé de

deux parties principales :

Partie émetteur : c’est la partie qu’on va l’utiliser pour envoyer les commandes vers le

chariot, elle est composée d’une carte Raspberry pi et un module Xbee, et comme le montre la

figure 17, le module XBEE est connecté directement sur le port série de la carte Raspberry PI

Internet

Page 32: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

19

étant donné qu’il s’agit des mêmes niveaux de tensions (3.3V) utilisés par le module Xbee

ainsi que par la carte Raspberry PI.

-Figure N°17 : Liaison entre carte Raspberry pi et module Xbee-

Partie récepteur : c’est la partie qui est liée au chariot et qui reçoit les commandes pour les

appliquer sur le chariot. Cette partie est composée d’une carte Arduino et d’un module Xbee

qui est connecté à ladite carte comme l’illustre la figure 18.

-Figure N°18 : Liaison entre carte Arduino et module Xbee-

Page 33: Rapport interface terminal

Chapitre 2 : Les technologies utilisées

20

V. Conclusion

Dans ce chapitre, nous avons présenté les différents composants de notre système. Ensuite,

nous avons décris les modules principaux tels que la carte Raspberry PI, la carte Arduino et

les modules Xbee que nous avons choisis pour les exploiter dans la réalisation de notre

système.

Dans le chapitre suivant, nous allons passer à la réalisation des différents circuits, le

premier appartient à la partie émettrice de commande et le deuxième qui appartient au chariot

lui même.

Page 34: Rapport interface terminal

Chapitre 3

Réalisation

Page 35: Rapport interface terminal

Chapitre 3 : Réalisation

21

I. Introduction

Ce chapitre est consacré à la partie réalisation. Nous allons présenter l’environnement de

travail qui est composé de deux parties : une étude technique qui couvre les aspects matériels

et logiciel et une présentation de la manière dont on va l’utiliser pour contrôler l’application

réalisée.

II. Etude technique

Dans cette partie, nous allons détailler la configuration des modules Xbee dans ce projet.

Dans ce cadre, pour qu’on puisse transmettre les commandes de la partie émettrice vers la

partie réceptrice, il faut avoir deux modules Xbee, l’un émetteur et l’autre récepteur.

1. Configuration des modules Xbee

Pour configurer les modules Xbee il faut avoir un système informatique muni d’une

interface série permettant ainsi d’envoyer les commandes ‘AT’ correspondantes au module en

question par une communication de type série.

Cette configuration est alors possible par la carte Arduino ou celle Raspberry PI en

embarquant ou en envoyant les commandes au moyen d’un terminal.

1.1. Configuration d’un module Xbee avec une carte Raspberry PI

Un exemple de communication série est présent par la figure 19 pour qu’on peut assurer le

dialogue, entre la carte Raspberry PI et le module Xbee, à travers des commandes ‘AT’.

-Figure N° 19 : Liaison directe entre une carte Raspberry pi et un module Xbee-

Page 36: Rapport interface terminal

Chapitre 3 : Réalisation

22

Pour configurer ce module Xbee, il faut passer par les étapes suivantes :

i. Installation des paquetages python

Pour assurer la communication entre la module Xbee et la carte Raspberry pi il faut tout

d’abord installer les paquetages de python. Ces derniers ont pour rôles de rendre le système

capable de comprendre le langage de programmation « python ».

-Figure N° 20 : Installation des paquetages python-

ii. Configuration du port série de la carte Raspberry pi

Par défaut, dans une carte Raspberry pi, les ports séries non utilisés par le système sont

désactivés, donc il faut rendre le port série qu’on va l’utiliser actif pour qu’on puisse réaliser

une communication entre cette carte et le module Xbee, c’est le fait de régler le protocole

UART. Pour cela il faut, tout d’abord, exécuter la commande suivante :

« sudo nano /boot/cmdline.txt », pour modifier le fichier responsable au lancement du noyau.

-Figure N° 21 : Commande d’ouverture du fichier cmdline.txt-

Puis, on supprime « console=ttyAMA0, 115200 kgdboc=ttyAMA0, 115200 » de la ligne :

‘’dwc_otg.1pm_eanble=0 console=ttyAMA0, 115200 kgdboc=ttyAMA0, 115200

console==tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait’’.

-Figure N° 22 : Modification du fichier cmdline.txt-

Page 37: Rapport interface terminal

Chapitre 3 : Réalisation

23

Ensuite, on doit modifier le fichier « /etc/inittab », c’est le fichier qui est responsable à

l’activation des invites de connexions.

-Figure N° 23 : Accès au fichier inittab-

Ensuite, on édite le fichier et on met le curseur à la fin du fichier. On va trouver une ligne

similaire à « T0 : 2 : respawn : / sbin / getty-L ttyAMA0 115200 vt100 ». Cette ligne signifie

que le port série « ttyAMA0 » est désactivé. On est obligé de l’activer en ajoutant un caractère

# au début pour avoir la ligne suivante «# T0 : 23 : respawn : / sbin / getty-L ttyAMA0

115200 vt100 » comme nous le montrons sur la figure 24 puis on enregistre le fichier.

-Figure N° 24 : Modification du fichier /etc/inittab-

Finalement, on redémarre la carte Raspberry pi pour activer les mises à jour, en utilisant la

commande : « sudo reboot ».

-Figure N° 25 : Redémarrage de la carte Raspberry pi-

Page 38: Rapport interface terminal

Chapitre 3 : Réalisation

24

iii. Configuration du taux de transfert et port de communication avec le

module Xbee :

Pour que nous pouvons configurer le module Xbee, il faut spécifier le taux de transfert

(baudrate) entre la carte Raspberry PI et le module Xbee et le port de communication entre

eux. Ainsi, nous sommes obligés d’exécuter l’ensemble des commandes comme nous montre

la figure 26 :

-Figure N°26 : Configuration du baudrate et port de communication-

iv. Exécution des commandes de configuration du module Xbee

Tout d'abord on configure le module Xbee connecté avec les pinout RX et TX. On écrit

"+++" en communication série, on attend la réponse du Xbee avec le caractère '\r' qui marque

la fin d'une ligne et ensuite on écrit seulement cinq commandes pour configurer uniquement

l'adressage du module. Les commandes AT du module Xbee sont les suivantes :

- « +++ » : Pour utiliser le module Xbee en mode de configuration.

- « ATRE » : Pour restaurer les paramètres par défaut.

- « ATDL » : Pour fixer l’adresse du destinataire concerné.

- « ATID » : Pour fixer l’adresse du réseau.

- « ATMY » : Pour fixer l’adresse du module concerné.

- « ATCN » : Pour sortir du mode de configuration.

Page 39: Rapport interface terminal

Chapitre 3 : Réalisation

25

-Figure N° 27 : Terminal de la configuration de paramètres du module Xbee-

La figure 27 nous montre le passage du mode API vers le mode commande d’un

module Xbee.

1.2. Configuration du module Xbee avec une carte Arduino

Dans cette partie, on va essayer de configurer les paramètres du module Xbee récepteur.

Pour cela, on a besoin d’un module Xbee et d’une carte Arduino uno pour configurer notre

système de réception. Pour réaliser la configuration nous avons implémenté le montage de la

figure 28.

-Figure N°28 : Liaison entre carte Arduino et module Xbee-

L’utilisation de la carte Arduino à ce niveau nous permet de relier le module Xbee avec

l’ordinateur. On va embarquer un programme, en utilisant l’IDE, sur le microcontrôleur de la

carte Arduino uno qui permet d’envoyer des commandes vers notre module Xbee pour

configurer ses paramètres tels que le réseau commun des 2 modules (émetteur et récepteur), id

du module Xbee,…

Page 40: Rapport interface terminal

Chapitre 3 : Réalisation

26

Sur la figure 29 nous montrons le code de configuration du module du récepteur.

-Figure N° 29 : Interface du logiciel Arduino -

2. Installation du serveur SSH

Pour qu’on atteindre notre but, commande à distance d’un robot, il nous faut établir une

connexion à la carte Raspberry pi mais il faut prendre en compte la sécurisation de notre

connexion avec la carte de commande.

Pour cela, nous avons choisis d’installer le serveur SSH pour assurer la sécurité de notre

connexion tandis que ce dernier est un protocole de communication sécurisée. On le configure

en utilisant la commande de la figure 30.

-Figure N° 30 : Configuration du serveur SSH–

Par défaut le port de SSH est le port 22, on doit accéder au fichier /etc/ssh/sshd_config

pour modifier la ligne Port et changer le port 22 par un autre port (entre 1 et 65536 sauf 21,

22, 80, 443 et 3306) et ajouter des utilisateurs bien définis si on veut.

Page 41: Rapport interface terminal

Chapitre 3 : Réalisation

27

3. Installation du logiciel de connexion à distance ‘putty’

Putty est un émulateur de terminal doublé d'un client pour les protocoles SSH, Telnet

et rlogin. Il permet également d'établir des connexions directes par une liaison série RS-232.

C'est un logiciel libre distribué selon les termes de la licence MIT.

-Figure N°31 : Icône et interface de ‘putty’-

4. Réalisation de montage électronique

Pour que le chariot soit en marche, il faut que nous réalisions un montage électronique bien

déterminé pour rendre compatible les organes de commande au moteur utilisé.

4.1 Composants électroniques

- Résistance : Une résistance est un composant électrique dont la principale

caractéristique est d'opposer une plus ou moins grande résistance (mesurée en ohms) à

la circulation du courant électrique [17].

Nous allons utiliser des résistances de diviseur de tension pour adapter la communication

série entre l’Arduino et le module Xbee comme le montre le montage de la figure 32.

Page 42: Rapport interface terminal

Chapitre 3 : Réalisation

28

-Figure N° 32 : Montage de diviseur de tension-

D’après la datasheet, la communication série dépasse un courant de 0,2 mA.

Calcul des résistances :

Utx Ard= UR1+UR2=I (2R1+3R2)

- Transistor : Un transistor est un dispositif semi-conducteur à trois électrodes actives,

qui permet de contrôler un courant (ou une tension) sur une des électrodes de sorties

(le collecteur) grâce à une électrode d'entrée (la base) [18].

Et comme nous montre la figure 33, un schéma qui décrire ses trois bornes.

-Figure N° 33 : Schéma d’un transistor-

Nous allons utiliser le transistor en mode commutation pour commander la bobine du relais

comme l’indique le schéma de la figure 34.

R1

1

R2

2

10 K ohm

15 K ohm

TX de l’Arduino

RX de Xbee

Page 43: Rapport interface terminal

Chapitre 3 : Réalisation

29

-Figure N° 34 : Transistor en mode commutation-

Un autre transistor va être adapté en mode commutation pour adapter les signaux PWM de

commande généré par la sortie de la carte Arduino.

- Relais : appareil traversé par un courant électrique dans le but d'ouvrir ou de fermer un

circuit électrique. C'est en quelque sorte un interrupteur que l'on peut actionner à

distance, et où la fonction de coupure est dissociée de la fonction de commande [19].

Nous montrons respectivement sur la figure 35 le schéma électrique d’un relais.

-Figure N° 35 : Schéma électrique d’un relais-

- Régulateur : C’est un organe électrotechnique ou un composant électronique qui

maintient à sa sortie, dans certaines limites, une tension constante, indépendamment

de la charge et de la tension d'entrée [20].

Dans notre cas, nous allons réguler la tension 12V pour en avoir une tension de 5V

qui est nécessaire à notre moteur du chariot qui est un moteur à courant continu.

1

2

3 4

5

6 7

8

Sortie

Commande relais

Diode en roue libre :

pour ne pas abimer

la bobine du relais

en coupant le

courant

brusquement.

Page 44: Rapport interface terminal

Chapitre 3 : Réalisation

30

-Figure N° 36 : Régulateur-

4.2 Commande du moteur

Pour que nous puissions contrôler la vitesse d’un moteur, nous avons deux méthodes

possibles à exploiter. La première est d’utiliser un potentiomètre. Par contre, la deuxième,

consiste à l’utilisation d’un signal PWM.

4.2.1 Utilisation d’un potentiomètre

C'est la solution qui parait la plus simple. On limite le courant passant vers le moteur en

augmentant la résistance, ainsi on va avoir un faible rendement par le moteur.

-Figure N°37 : Utilisation d’un potentiomètre-

Démonstration :

Soient r = 1 ohm (résistance du moteur), P= 10 ohm et U = 12V.

Si par exemple on veut diviser la vitesse par 2 :

Soit E ≈ 5V

On a: 5 = 12 – (1+10).I => I = 0.5A

Ainsi :

La puissance totale est Pt = U.I = 6W

La puissance dissipée par le potentiomètre est dans ce cas est Pp=ri2= 2.5W

Donc on aura un rendement = 60%

7805

Ue Us C=0.1µ

Page 45: Rapport interface terminal

Chapitre 3 : Réalisation

31

Solution pas terrible.

4.2.2 Modulation PWM

L’utilisation d’un signal PWM permet ainsi de piloter le moteur à travers une sortie

numérique d’un microcontrôleur. Cette méthode permet une amélioration au niveau du

rendement énergétique.

A ce niveau, la modulation PWM est l’alimentation du moteur avec une tension en

créneaux, il s’agit d’un signal rectangulaire.

-Figure N°38 : Modulation PWM-

Comme nous montrons sur la figure 38, la modulation PWM est le fait d’exprimer la

tension envoyée vers le moteur en fonction d’un rapport cyclique T0/T qui est exprimé en ‘%’.

Ce signal est alors caractérisé par la fréquence (F=1/T) du signal ainsi que du taux T0/T.

4.3 Montage électronique de la solution proposée

Avant de mettre en place la solution de commande, il faut tester le bon fonctionnement de

nos circuits, il ne faut pas brancher directement les circuits. Dans notre cas, on a choisis de

tester le fonctionnement de notre chariot en utilisant deux cartes Arduino et deux modules

Xbee pour s’assurer la bonne liaison des composants électroniques des deux parties émettrice

et réceptrice. Dans les deux schémas des figures 39 et 40, nous montrons les différentes

interconnexions mises en place pour tester la solution de commande moteur et connexion sans

fil.

Page 46: Rapport interface terminal

Chapitre 3 : Réalisation

32

-Figure N°39 : Montage de la carte de pilotage -

-Figure N° 40 : Montage de la carte de commande-

Après un succès dans la partie de test du branchement virtuelle avec l’Eagle, on peut

configurer notre circuit réellement et comme le montre la figure 41 le circuit est bien testé et

ce en transmettant la vitesse et le sens de rotation de la carte de commande à la carte de

pilotage via les modules Xbee.

Page 47: Rapport interface terminal

Chapitre 3 : Réalisation

33

-Figure N° 41 : Test de fonctionnement avec deux cartes Arduino –

Maintenant, après avoir testé les commandes AT et les commandes du moteur, nous allons à

présent étudier la carte de commande réelle qui est de type Raspberry PI. Comme nous

l’avons déjà mentionné le module Xbee va être connecté directement sur l’interface série de la

Raspberry PI étant donné qu’il s’agit de deux interfaces séries compatibles : 3.3V. Nous

traçons sur la figure 42 les liaisons nécessaires.

-Figure N° 42 : Montage d’essai partie émetteur –

à monter sur le chariot

Page 48: Rapport interface terminal

Chapitre 3 : Réalisation

34

III. Présentation du terminal de commande et explication du

fonctionnement

Dans cette partie nous allons présenter notre terminal de commande à partir du quel nous

allons introduire les ordres de commande, aussi bien nous expliquerons le principe de

fonctionnement de notre projet.

1. Présentation du terminal de commande

C’est un terminal simple à utiliser. La capture de l’image 38 illustre l’interface de

commande.

-Figure N° 43 : Terminal de commande-

Cette interface va être notre moyen pour connecter à la carte de commande. Il suffit alors de

savoir l’adresse IP de la carte Raspberry pi pour permettre l’exploitation du chariot de

n’ importe où dans le monde. Avec ce terminal on peut émettre un ordre de la carte Raspberry

pi vers la carte Arduino en cliquant sur des chiffres bien déterminés pour le vitesse et pour le

direction.

Page 49: Rapport interface terminal

Chapitre 3 : Réalisation

35

2. Explication de fonctionnements

Lors d’une émission de commande de la partie émettrice vers la partie réceptrice pour

obtenir comme résultat l’avance ou la marche arrière du chariot, nous allons passer par

plusieurs étapes. Dans ce qui suit, nous allons détailler ces étapes.

1ére

étape :

Nous devons fixer l’utilisateur qui va utiliser la carte Raspberry pi à distance pour qu’on

termine la connexion à la carte Raspberry pi.

-Figure N°44 : Connexion à la carte de commande-

Après cette étape, on peut communiquer avec la carte Raspberry pi de n’ importe où dans la

monde via la connexion internet.

2éme étape

Dans cette étape, nous devons fixer les paramètres de configuration du module Xbee. Il faut

spécifier le taux de transmission et le port série qui va être l’outil de communication entre la

carte Raspberry pi et le module Xbee. L’illustration dans la figure 45 nous montre cette étape.

Page 50: Rapport interface terminal

Chapitre 3 : Réalisation

36

-Figure N°45 : Configuration des paramètres de communication entre la carte

Raspberry pi et le module Xbee-

3éme étape

Lorsqu’on tape notre commande, la carte Raspberry pi a pour rôle d’envoyer un caractère

(‘1’, ‘2’, ‘3’, ‘4’) bien déterminé selon la commande qu’on a utilisé vers sa port série

interconnecté au module Xbee émetteur.

-Figure N°46 : Lancement d’ordre-

Page 51: Rapport interface terminal

Chapitre 3 : Réalisation

37

4éme

étape :

Après le déroulement de la précédente étape, le module Xbee émetteur maintenant va

crypter le caractère qu’il a reçu de la carte Raspberry PI et l’envoyer vers le module Xbee

récepteur en utilisant les coordonnées du réseau commun entre eux et l’ID du récepteur.

-Figure N° 47 : Cryptage de caractère d’ordre-

5éme

étape :

Ensuite, au moyen du module récepteur, un décryptage est nécessaire pour rendre l’ordre

exprimable par la carte Arduino puis le transmet vers le port série de la carte Arduino pour

traiter cet ordre de pilotage.

-Figure N°48 : Décryptage de caractère d’ordre-

Page 52: Rapport interface terminal

Chapitre 3 : Réalisation

38

6éme

étape :

Maintenant, le caractère de la commande est reconnu par la carte Arduino, ainsi cette

dernière est devenue responsable à analyser le caractère à travers son microcontrôleur puis à

faire fonctionner le chariot selon le message d’ordre.

-Figure N° 49 : Fonctionnement de la carte de pilotage

Carte d’adaptation

Signal PWM de

commande

Signal PWM de puissance

Page 53: Rapport interface terminal

Conclusion générale

37

Conclusion générale

Ce projet de fin d’études avait pour but la réalisation d’une application de commande d’un

chariot contrôlé à partir du réseau pour des buts divers comme la sécurité, la surveillance,

l’exportation etc...

L’application réalisée offre une multitude de fonctionnalités dont, les essentielles sont :

- Commande d’un moteur en sens et vitesse.

- Commande de n’importe où dans le monde en utilisant une connexion à distance.

Nous avons utilisé plusieurs technologies embarqué telles que les cartes de développement

Arduino et Raspberry PI, le réseau et les modules de communications Zigbee. Pour la mise en

place de note application nous avons mis en jeu plusieurs techniques de développement, entre

autres, la programmation Arduino, les scripts python, le système d’exploitation linux

embarqué.

D'un point de vue personnel, tout au long de ce projet, nous avons eu l’occasion de mettre

en pratique nos connaissances acquises au sein de l’ISIMS, aussi bien en programmation et

développement et en matières réseaux et nous avons également eu l’opportunité de travailler

avec de nouveaux outils, matériels et environnement de développement embarqué.

Cette expérience a été très enrichissante et importante car elle a marqué la fin de ce cycle

de licence et nous a permis d’être confrontés aux responsabilités qui sont celles de technicien

supérieur moderne à savoir, faire face aux délais, au stress et aux contraintes du travail dans

un milieu de recherche et d’innovation

Page 54: Rapport interface terminal

Perspectives

38

Perspectives

Notre projet a couvert au bout du compte la majeure partie des fonctionnalités qui nous ont

été demandées au début, mais les opportunités d’améliorations de ce projet sont multiples.

D’une part, nous pourrons améliorer l’application pour rendre l’interactivité plus souple et

complète avec l’utilisateur, aussi on peut évoluer même le chariot en lui intégrants de

multiples nouveaux capteurs et détecteurs, et circuits diverses pour le rendre encore plus

complet et automatisée.

D’autre part, nous pourrons penser à lui ajouter des modules pour qu’il puisse gérer non

seulement les situations déjà programmées mais aussi de nouvelles situations où il peut

apprendre tout seul à l’aide d’algorithmes d’apprentissage et d’intelligence artificielle, qu’on

peut modéliser facilement au niveau de l’application.

Comme perspectives, nous pouvons rendre notre application plus polyvalente en ajoutons

des capteurs de température, d’humidité, de magnitude, de couleurs, de courant, de force, de

pression, infrarouges, "de chocs", d’autres types de gaz, d'inclinaison, de niveau, etc… et ce

pour rendre le chariot intelligent, permettant de détecter les obstacles par exemples.

Dans ce cadre, nous ouvrons l’esprit à d’autres idées réalisables à travers un système

embarqué basé sur Raspberry PI et Arduino uno, nous citons ci-dessous quelques idées de

robotique :

- Robot suiveur de ligne

- Robot détecteur de mines

- Robot autonome de surveillance

- Robot spécialisé dans la détection des différents types de gaz.

- Robot explorateur de zones inaccessibles pour les êtres humains (catastrophes

naturelles).

Page 55: Rapport interface terminal

Annexes

Page 56: Rapport interface terminal

Annexes

39

Annexe du module Xbee

Le Xbee séries 1 possède un certain nombre d'entrées et sorties. Les sorties analogiques

sont PWM0 et PWM1. Les entrées et sorties numériques sont DIO1, DIO2, DIO3, DIO4,

DIO5, DIO6, DIO7 ("DIO" pour Digital Input Output). Les entrées analogiques sont: AD1,

AD2, AD3, AD4, AD5 ("AD" pour Analog Digital).

-Figure N° 50 : Quelques entrées-sorties du module Xbee -

Digital Input Output

Analog Digital

Les sorties analogiques

Page 57: Rapport interface terminal

Annexes

40

Annexe sur Raspberry PI

Les GPIOs du carte Raspberry PI, ce sont des entrées/sorties qui permettent d’étendre les

fonctionnalités du Raspberry pi en lui donnant la possibilité d’agir sur des leds ou des

afficheurs LCD par exemple, lire l’état d’un interrupteur, d’un capteur, etc...

Ce connecteur GPIO dispose de différents types de connexion :

- des broches utilisables en entrée ou sortie numérique.

- des broches pour une interface I2C.

- une interface SPI pour les périphériques SPI.

- de broches pouvant être utilisé en PWM (Pulse Width Modulation) permettant le

contrôle de puissance.

-Figure N° 51 : Les GPIOs de Raspberry PI-

Page 58: Rapport interface terminal

Bibliographie

41

Bibliographie

[1] http://www.alyotech.fr/sei_intro

[2] http://www.labo-microsoft.org/def/13960/

[3] http://www.mind-microtec.org/domaines-dapplication/systeme-electronique-embarque

[4] http://www.cnetfrance.fr/produits/domotique-10-objets-connectes-pour-une-maison-

intelligente-39789608-la-domotique-c-est-fantastique_1.htm

[5] http://www.commentcamarche.net/contents/1122-le-standard-gsm

[6] http://www.hgh.fr/rayonnement-infrarouge-corps-noir-infrared-radiation-blackbody.php

[7] http://www.evalu.it/glossaire/mot/123-bluetooth

[8] http://www.futura-sciences.com/magazines/high-tech/infos/dico/d/internet-wi-fi-1648/

[9] http://www.futura-sciences.com/magazines/high-tech/infos/dico/d/internet-3g-2008/

[10] http://compnetworking.about.com/od/networkprotocols/g/ultra_wide_band.htm

[11] http://www.dicodunet.com/definitions/multimedia/zigbee.htm

[12] http://faitmain.org/volume-2/xbee-arduino.html

[13] http://faitmain.org/volume-2/xbee-arduino.html

[14] http://raspberrypi.electroniquemagazine.com/raspberrypi.html

[15] https://www.arduino.cc

[16] https://docs.python.org/release/1.5.1p1/tut/functions.html

Page 59: Rapport interface terminal

Bibliographie

42

[17] http://www.futura-sciences.com/magazines/matiere/infos/dico/d/physique-resistance-

electrique-364/

[18] http://www.larousse.fr/dictionnaires/francais/transistor/79147

[19] http://www.linternaute.com/dictionnaire/fr/definition/relais-electrique/

[20] http://www.techno-science.net/?onglet=glossaire&definition=13521