Vous êtes sur la page 1sur 81

Remerciement

Le grand merci s’adresse au bon dieu.

C’est avec plaisir que nous réservons ces quelques lignes en signe de gratitude et de profonde
reconnaissance à l’égard de tous ceux qui nous ont aidés à la réalisation de notre projet de fin
d’étude.

Je tiens à remercier toute l’équipe pédagogique de l’institut supérieure des études


technologique de Mahdia pour leur soutien.

Avant d’entamer ce rapport, nous tenons à remercier notre encadreur interne, Madame
SMIDA FETEN pour l’aide, les suggestions et les conseils concernant les travaux effectués
durant la période de stage.

Nous profitons aussi de l’occasion pour remercier notre encadreur externes Monsieur FETHI
DZIRI pour sa résonnant, sa gentillesse et ses conseils.

Nos remercîments s’adressent aussi à tous les techniciens aux seins de la société laitière de
Mahdia « Vitalait » pour leurs compréhension et gentillesses.

Nos profonds remerciements vont également à toutes les personnes qui nous ont encouragés.

1
Dédicaces

Nous dédions ce projet à :

Nos chers parents, que nulle dédicace ne puisse exprimer nos sincères sentiments

Pour leur patience illimitée, leur encouragement contenu, leur aide, en témoignage

Nos profonds amour et respects pour leurs grands sacrifies.

Nos chers grands parents, pour nous assistant.

Nos chers frères pour leurs amour et leurs soutiens qu’ils trouvent ici l’expression de nos
hantes gratitudes.

Nos chers amis qui sans leurs encourageants ce travail n’aura jamais vu le jour.

Et à toute ma famille et à tous ceux que j’aime.

2
Sommaire
Introduction générale .................................................................................................................. 8

Chapitre1 :.................................................................................................................................. 9

Présentation du cadre de projet ................................................................................................... 9

I. Introduction : ................................................................................................................. 10

1. Présentation de la société : .......................................................................................... 10

2. Etude du projet : ......................................................................................................... 14

II. Conclusion ................................................................................................................. 19

Chapitre2 :................................................................................................................................ 20

Spécification des besoins .......................................................................................................... 20

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

1. Présentation de la carte Arduino : ............................................................................... 21

2. Présentation du module GSM : ................................................................................... 25

3. commande AT sur Arduino : ...................................................................................... 34

II. Conclusion ................................................................................................................. 41

Chapitre3 :................................................................................................................................ 42

Conception du système ............................................................................................................. 42

I. Introduction : ................................................................................................................. 43

1. Réalisation du système de signalisation à distance en utilisant Proteus 8Professionnal :


43

2. Développement du schéma de simulation: .................................................................. 44

3. Simulation en cas d’interrupteur ouvert : .................................................................... 45

4. Simulation pour lire la pression .................................................................................. 46

II. Conclusion ................................................................................................................. 48

Chapitre4 : réalisation du système............................................................................................. 49

I. Introduction : ................................................................................................................. 50

1. La réalisation réelle du projet : ................................................................................... 50

II. Conclusion : ............................................................................................................... 65


3
Conclusion générale ................................................................................................................. 66

Annexes ................................................................................................................................... 67

Sitographie ............................................................................................................................... 81

4
Table de figures

Figure 1: Façade de la société ................................................................................................... 10


Figure 2: Les produits du Vitalait ............................................................................................. 11
Figure 3:schéma de la station de forage .................................................................................... 14
Figure 4: Image de l'armoire électrique de la station ................................................................. 15
Figure 5: Image du capteur de pression et le pressostat ............................................................. 15
Figure 6: Image du variateur HVAC ......................................................................................... 16
Figure 7: Image du compteur de l'eau MWN100 ....................................................................... 16
Figure 8: Image du relais .......................................................................................................... 17
Figure 9: composant intérieur du relais ..................................................................................... 17
Figure 10: les composants antérieurs du relais .......................................................................... 17
Figure 11: circuit de puissance et circuit de commande ............................................................. 18
Figure 12: Exemples des cartes Arduino ................................................................................... 21
Figure 13: Arduino UNO .......................................................................................................... 22
Figure 14: Diagramme fonctionnel du SIM900 ......................................................................... 27
Figure 15 vue de dessous du module GSM SIM 900 ................................................................. 28
Figure 16: Vue de dessous ........................................................................................................ 28
Figure 17: LEDs du module SIM900 ........................................................................................ 29
Figure 18: Régulateur de tension MIC29302WU ...................................................................... 30
Figure 19: Cavaliers de sélection de la liaison ........................................................................... 31
Figure 20: Connexion du blindage SIM900 GSM / GPRS à Arduino MEGA ............................ 32
Figure 21: Bouton POWER ...................................................................................................... 33
Figure 22: Le cavalier R13 a soudé ........................................................................................... 33
Figure 23: Connexion de la broche D9 du blindage à la broche D9 de l'Arduino. ...................... 34
Figure 24: bibliothèque SoftwareSerial ................................................................................... 35
Figure 25: comment créer une liaison série logicielle .............................................................. 35
Figure 26: la fonction Begin ................................................................................................... 36
Figure 27: commande AT pour le code PIN ............................................................................ 36
Figure 28: commande AT pour sélectionner le mode texte ...................................................... 37
Figure 29: commande AT pour envoyer un SMS .................................................................... 37
Figure 30: désactivations de la répétition du message.............................................................. 37
Figure 31: commande AT pour lire le message reçu ................................................................ 38

5
Figure 32: envoie d'un SMS par le bouclier GSM SIM900vers le téléphone portable ................ 40
Figure 33: message reçu sur le portable depuis le sim900 ......................................................... 40
Figure 34: Réception d’un message par le bouclier GSM SIM900 ............................................ 41
Figure 35: Envoie d’un SMS par un téléphone portable vers le SIM900 .................................... 41
Figure 36: page d'accueil du logiciel Proteus 8.5 ....................................................................... 43
Figure 37: Schéma du système de signalisation à distance ........................................................ 44
Figure 38: schéma ISIS en cas d'ouvrir l'interrupteur ................................................................ 45
Figure 39: Message d'alarme .................................................................................................... 45
Figure 40: Traitement d’affichage du message d’alarme en cas d'ouvrir l'interrupteur ............... 46
Figure 41: simulation de capteur de pression ............................................................................ 46
Figure 42: valeur de pression .................................................................................................... 47
Figure 43: réafficher la valeur de pression ................................................................................ 47
Figure 44: Schémas fonctionnel de l'acquisition de la pression.................................................. 47
Figure 45: Schémas théorique du montage de la fonction de signalisation ................................. 50
Figure 46: Emplacement du relais thermique et de son contact NC au niveau de l‘installation du
variateur ................................................................................................................................... 51
Figure 47: Schéma théorique du montage de la fonction de commande ..................................... 55
Figure 48: Schémas théorique du montage d’acquisition ........................................................... 60

6
Liste des tableaux
Tableau 1 : : les différents composants du système de signalisation à distance .......................... 19
Tableau 2: Présentation des caractéristiques de la carte Arduino UNO ...................................... 22
Tableau 3: Différentes broches entrées/sorties numériques ....................................................... 24
Tableau 4: caractéristiques du module GSM sim900 ................................................................. 26
Tableau 5: les différents LEDs du GSM SIM900 ...................................................................... 29
Tableau 6: les différents modes d’alimentation du module GSM SIM900 ................................. 30

7
Introduction générale

Dans un monde actif et continuellement évolutif, la motivation d’avoir de moyes performantes et


efficaces de communication et d’échange d’information devient de plus en plus fondamentale.
Cette motivation donne naissance à une révolution favorisant le travail à distance et l’accès aux
besoins en temps réduit à l’aide d’internet qui à bouleversée les habitudes de travail dans
nombreux métiers.‫لب‬

D’après beaucoup d’analyse et statistique effectuées, il s’avère que de plus en plus d’internautes
se connectent désormais à internet via leurs téléphones portables, ceci provoque un développent
exponentiel des appareils mobiles qui sont répandus comme une trainée de poudre dans le monde
de développent et révolutionnant le domaine des communications notamment les zones rurales.

C’est dans ce cadre qu’entre le sujet de notre PFE. Il s’agit en fait de concevoir et de développer
une solution informatique assurant l’envoie des informations d’une station de forage loin de 5km
à la société laitière de Vitalait. Les opérateurs reçoivent une information par téléphone portable
qui indique l’état de la pompe du forage (en marche ou en arrêt ainsi que les différentes mesures
donnés par ses capteurs de pression et de niveau d’eau

Ce rapport détaille les différentes phases dont nous sommes passées par dans le but d’aboutir à
une application fiable et satisfaisante. Pour cela le rapport est composé de trois chapitres. Dans le
premier chapitre nous présentons l’entreprise d’accueil ainsi que le cahier des charges proposé.
Le deuxième chapitre est consacré aux analyses et spécification des besoins. Le dernier chapitre
développe les détails de réalisation de notre application.

8
Chapitre1 :
Présentation du cadre
de projet

9
I. Introduction :
Ce chapitre va servir dans un premier temps à la présentation de l'organisme d'accueil Vitalait.
Nous définissons dans un deuxième temps le sujet et l'objectif principal du projet. La deuxième
partie sera consacrée à la définition de la méthodologie et la troisième partie s’intéresse au
formalisme adoptée lors de la réalisation de ce projet.
La réalisation de ce projet nécessite une étude approfondie sur certaines notions qui touchent non
seulement le cadre général du projet, mais aussi son implémentation.

1. Présentation de la société :
Dans ce paragraphe, nous allons présenter la société « Centrale Laitière de Mahdia Vitalait » en
identifiant les différents services.

a. Historique :
CLM « Centrale Laitière de Mahdia Vitalait» est une centrale laitière entrée en activité en 1998
disposant actuellement d’une capacité de production de 50.000.000 litres par an et d’une gamme
de produits variée : lait, beurre et lait aromatisé.
 Nom commercial : VITALAIT.
 Date de création : Juin 1997.
 Forme juridique : S.A.
 Capital social : 9 468 900 dinars.
 Date d’entrée en production du lait en bouteille plastique et du beurre : 07/12/1998.
 Lancement de la production du lait en brique, du lait aromatisé du jus en briques : juin
2000.
 Lancement de la production en demi-litre : juin 2007
 Lancement de la production de produit frais (yaourt aromatisé, yaourt à boire et lait
fermenté) : septembre 2007.

Figure 1: Façade de la société

10
b. Les produits du Vitalait :
La capacité moyenne de l’usine est de 130.000 à 140.000 litres de laits frais par jour, soit une
capacité globale de transformation de l’ordre de 50 millions de litres par ans.
Elle possède une gamme de produits diversifiée :
 Lait stérilisé en bouteille plastique 1litre (entier, demi-écrémé et écrémé)
 Lait UHT en carton de 1litre (entier, demi-écrémé et écrémé) et ½ litre (demi-écrémé)
 Beurre (carton 5kg, seaux 2.5kg et conditionné 200 et 100g)
 Produits frais (leben, raieb, yaourt).

Figure 2: Les produits du Vitalait

11
c. Organigramme de la société

Conseil
d’administration

Président
directeur général

Direction de Direction Service Direction Direction


d’approvisionnement approvisionnement de administrative et
l’usine lait cru rechange commercial
financière
Département
Bureau Laboratoire Service Département des ressources
Suivi et contrôle Section
méthode et humaines,
des fournisseurs comptable et
maintenance achats marketing
affaires
du lait financier
administratives
Atelier Atelier locaux
extrudage Administration Section
électrique Service Comptabilité Département des
soufflage des achats lait ressources
achats (générale,
cru clientèle humaines,
clients,
Atelier Chef de étranger administratives
fournisseurs)
production
mécanique
lait bouteilles Service Caisse
expédition
centrale
Atelier Chef de (gestion des
énergie et production lait ventes)
UHT
fluide
Prévision
et budget

12
d. Organigramme de l’usine

Service de l’usine

Service de Stockage de produit Service production


maintenance final

Section Traitement
Magasin des énergétique lait cru
pièces

Production
Atelier UHT Production
maintenance bouteilles
mécanique

Production
Atelier beurre Production
maintenance leben et
électrique raieb

13
2. Etude du projet :
a. Introduction :
Voici un schéma descriptif du fonctionnement de la station :

10/ vanne

3/débit mètre

9/capteur de pression

8/pressostat

Figure 3:schéma de la station de forage

Au cours du fonctionnement normale, la société laitière « Vitalait » avait un réservoir pour


stocker de l’eau. La source d’eau dans l’usine est à une station de forage loin de l’usine environ
5km.

Cette station contient une pompe immergée qui assure le pompage de l’eau vers l’usine. La
pompe immergée est une électropompe multicellulaire destinée à puiser de l'eau à plus de 8 m de
profondeur. Donc c’est une pompe de puits ou pompe de forage, dont le profil effilé est conçu
pour une installation dans des espaces très étroits. En plus, le fonctionnement de la pompe est
contrôlé par un relais thermique (lr2 d13) afin de protéger la pompe contre les surcharges et les
coupures de phase.

Le fonctionnement de la pompe est relié à un capteur de pression qui donne une pression entre
0bar et 4bar, ce capteur est protéger par un pressostat.

Pour gérer mieux le fonctionnement de la pompe, un variateur de vitesse est associé l’armoire de
cette dernière.
14
La figure ci-dessous présente l’armoire électrique de la station de forage :

Figure 4: Image de l'armoire électrique de la station

La figure ci-dessous montre capteur de pression ainsi que le pressostat :

Figure 5: Image du capteur de pression et le pressostat

15
Le contacteur manométrique (ou Pressostat) permet d'automatiser la pompe lorsqu'elle est
associée à un réservoir suppresseur. Il est programmé selon 2 pressions : une haute (lorsqu'elle
est atteinte, il coupe alors la pompe), une basse (il la redémarre).

Voici le variateur de vitesse (figure ci-dessous) qui permet de régler la vitesse et le couple d'un
moteur électrique à courant alternatif en faisant varier la fréquence et la tension, respectivement
le courant, délivrées à la sortie de celui-ci

Figure 6: Image du variateur HVAC

La station est équipée aussi par un capteur de débit qui mesure le niveau d’eau dans le puits

Figure 7: Image du compteur de l'eau MWN100

16
Parmi les éléments de l’armoire de la station on trouve le relais thermique qui assure la
protection contre surcharge :

Figure 8: Image du relais


La figure suivante montre les différents composants intérieurs du relais :

Figure 9: composant intérieur du relais


La figure ci-dessous montre les composants antérieurs du relais :

Figure 10: les composants antérieurs du relais

17
La figure suivante est associée au circuit de commande ainsi que le circuit de puissance du
relais :

Figure 11: circuit de puissance et circuit de commande

b. Problématique :
Le problème dans cette station est l’arrêt de fonctionnement de la pompe sans prévenir la
société, ce qui provoque la baisse de niveau d’eau dans les réservoirs de l’usine, la remise à
niveau des réservoirs d’eau demande du temps ce qui influe la production.

Les causes de l’arrêt de fonctionnement de la pompe sont :

-une augmentation brusque de la pression (plus que 3 bar) ou une diminution de la pression
(jusqu’à la valeur 0bar)

-une coupure de tension de l’alimentation général STEG

- un surcharge ou une surintensité

-la pompe est endommagée

-la pompe fonctionne normalement et la est vide

-un composant dans le circuit est endommagé

-déclanchement du disjoncteur

c. Solutions proposé :
Pour remédier au problème décrit précédemment et dans le cadre du projet de fin des études nous
proposons de réaliser un système de signalisation à distante connectée via une carte Arduino
(UNO) avec un module GSM (SIM900), permettant le contrôle de la pompe électrique à distance
et l’envoie sous demande de certaines mesures données par les capteurs (pression ou niveau).
L’utilisation de cette solution est facile, en effet un ouvrier reçoit un message sur son téléphone
si la pompe tombe panne et il peut aussi demander la pression dans les canalisations.

18
d. Cahier de charge proposé :
Notre système de signalisation à distance consiste à :

-un SMS sera envoyé à l’opérateur lorsque la pompe est arrêter (c’est le problème globale de
cette station).

-une commande à distance de la pompe.

-un contrôle de pression.

-Un SMS sera envoyé pour découvrir la valeur de pression.

Le tableau ci-dessous illustre les différents composants de notre système :

Tableau 1 : : les différents composants du système de signalisation à distance

Matériel à utilisé Prix


Carta Arduino (UNO R3) 35dt
Module GSM (SIM900) 150dt
Câble 5dt
Carte Sim 5dt
Module relais 10dt

II. Conclusion
Au cours de ce chapitre, nous avons cité le cadre général de notre projet de fin des études intitulé
« système de signalisation à distance de la station de forage de Chiba de la société laitière de
Mahdia Vitalait ». Nous avons détaillé le cahier des charges en décrivant la démarche du projet
que nous allons suivre.

Dans le chapitre suivant nous donnerons les étapes ainsi que le matériel nécessaire pour réaliser
notre solution.

19
Chapitre2 :
Spécification des
besoins

20
I. Introduction :
Au cours de ce chapitre nous allons présenter la carte de programmation ARDUINO puis l’entité
intervenant dans la transmission des données à distance, le module GSM, avec toutes ces
particularités.

Enfin, on va concevoir comment établir la connexion entre la carte Arduino et le module GSM
puis on va tester quelques commandes AT sur ARDUINO.

1. Présentation de la carte Arduino :


Arduino est un circuit imprimé en matériel libre (dont les plans de la carte elle-même sont
publiés en licence libre mais dont certains composants sur la carte, comme le microcontrôleur
par exemple, ne sont pas en licence libre) sur lequel se trouve un microcontrôleur qui peut être
programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches
très diverses comme la domotique (le contrôle des appareils domestiques, éclairage,
chauffage…), le pilotage d'un robot, etc.
La figure ci-dessous montre de différentes cartes arduiono :

Figure 12: Exemples des cartes Arduino


C’est une plate-forme de prototypage d'objets interactifs à usage créatif constituée d'une carte
électronique et d'un environnement de programmation, Cet environnement matériel et logiciel
permet à l'utilisateur de formuler ses projets par l'expérimentation directe avec l'aide de
nombreuses ressources disponibles en ligne.
La carte Arduino repose sur un circuit intégré (un mini-ordinateur appelé également
microcontrôleur) associée à des entrées et sorties qui permettent à l'utilisateur de brancher
différents types d'éléments externes :
-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.
-Côté sorties, des actionneurs qui agissent sur le monde physique telle une petite lampe qui
produit de la lumière, un moteur qui actionne un bras articulé, etc.

21
La plateforme Arduino se présente sur plusieurs séries à savoir : Arduino Méga 2560, Arduino
Nano, Arduino Lilypad, Arduino DUE et Arduino UNO qui sera le cœur de notre système de
signalisation. Dans les annexes ont va développer les caractéristiques de ces types des cartes
Arduino par contre dans cette partie nous avons intéressés par la carte Arduino UNO.
a. Arduino UNO :
L’Arduino UNO est une carte électronique basée sur le microcontrôleur ATmega328. Elle
dispose de 14 broches numériques d'entrée / sortie (dont 6 disposent d'une sortie PWM), 6
entrées analogiques, un résonateur céramique (Quartz) à 16 MHz, une connexion USB, une prise
d’alimentation, un connecteur ICSP, et un bouton de réinitialisation.
Il contient tout le nécessaire pour soutenir le microcontrôleur, tout simplement le connecter à un
ordinateur avec un câble USB ou allumez-le avec un adaptateur ou batterie pour commencer.
La figure ci-dessous est associée à la carte Arduino UNO :

Figure 13: Arduino UNO

b. Caractéristiques :
Le tableau suivant est associée à différentes caractéristiques de la carte Arduino UNO :

Tableau 2: Présentation des caractéristiques de la carte Arduino UNO

Microcontrôleur ATmega328

Tension de fonctionnement 5V

Tension d’entrée (recommandé) 7-12V

Tension d'entrée (limite) 6-20V

Digital I/O Pins 14 (dont 6 fournissent sortie PWM)

22
Broches d'entrée analogiques 6

DC Courant par I/O Pin 40 mA

Courant DC pour 3,3 Pin 50 mA

Mémoire Flash 32 Ko (ATmega328) dont 8 Kb utilisé par


Boot Loader

SRAM 2 Kb(ATmega328)

EEPROM 1 Kb (ATmega328)

c. Alimentation :
L'Arduino UNO peut être alimentée via la connexion USB ou avec une alimentation externe.
Dans le premier cas, la source d'alimentation est automatiquement sélectionnée.
Externe (non-USB) alimentation peut provenir d’un adaptateur AC –DC ou batterie. L'adaptateur
peut être connecté en branchant une prise de centre positif de 2,1 mm dans le connecteur jack de
la carte Les fils en provenance d'un bloc de piles ou d'accus peuvent être insérés dans les
connecteurs des broches de la carte appelées GND (masse ou 0V) et Vin (Tension positive en
entrée) du connecteur d'alimentation.
Le conseil d'administration peut fonctionner sur une alimentation externe de 6 à 20 volts. Si
fourni avec moins de 7V, cependant, la broche 5V peut fournir moins de 5 volts et le conseil
d'administration peut être instable. Si vous utilisez plus de 12V, le régulateur de tension peut la
carte, il est donc fortement recommandé de bien respecter la plage idéale de tension de 7 à 12
volts.

d. Entrées et sorties numériques :


Chacune des 14 broches numériques de la carte Arduino UNO peut être utilisée soit comme une
entrée numérique, soit comme une sortie numérique, en utilisant les instructions pinMode ( ),
digitalWrite ( ) et digitalRead ( ) du langage Arduino. Ces broches fonctionnent en 5V.
Chaque broche peut fournir ou recevoir un maximum de 40mA d'intensité et dispose d'une
résistance interne de "rappel au plus" (pull-up) (déconnectée par défaut) de 20-50 KΩ. Cette
23
résistance interne s'active sur une broche en entrée à l'aide de l'instruction digitalWrite (broche,
HIGH).
De plus, certaines broches ont des fonctions spécialisées, ces broches sont présentées dans le
tableau ci-dessous :
Tableau 3: Différentes broches entrées/sorties numériques

Interruptions Externes Broches 2 et 3


SPI (Interface Série Périphérique) Broches 10 (SS), 11 (MOSI), 12 (MISO), 13(SCK).
I2C Broches 4 (SDA) et 5 (SCL).
LED Broche 13

e. Broches analogiques :
La carte Arduino UNO dispose de 6 entrées analogiques, chacune pouvant fournir une mesure
d'une résolution de 10 bits (c.-à-d. sur 1024 niveaux soit de 0 à 1023) à l'aide de la très utile
fonction analogRead ( ) du langage Arduino. Par défaut, ces broches mesurent entre le 0V
(valeur 0) et le 5V (valeur 1023), mais il est possible de modifier la référence supérieure de la
plage de mes ure en utilisant la broche AREF et l'instruction analogReference ( ) du langage
Arduino. Note : les broches analogiques peuvent être utilisées en tant que broches numériques.
f. Autres broches :
Il y a deux autres broches disponibles sur la carte :
 AREF : Tension de référence pour les entrées analogiques (si différent du 5V). Utilisée avec
l'instruction analogReference ( ).
 RESET : Mettre cette broche au niveau BAS entraîne la réinitialisation (= le redémarrage) du
microcontrôleur. Typiquement, cette broche est utilisée pour ajouter un bouton de réinitialisation
sur le circuit qui bloque celui présent sur la carte.
g. Le branchement de la carte :
La carte Arduino UNO a de nombreuses possibilités de communications avec l’extérieur.
L’Atmega328 possède une communication série UART TTL (5V), grâce aux broches
numériques 0 (RX) et 1 (TX). On utilise (RX) pour recevoir et (TX) transmettre (les données
séries de niveau TTL). Ces broches sont connectées aux broches correspondantes du circuit
intégré ATmega328 programmé en convertisseur USB – vers – série de la carte, composant qui
assure l'interface entre les niveaux TTL et le port USB de l'ordinateur. Comme un port de
communication virtuel pour le logiciel sur l’ordinateur, La connexion série de l'Arduino est très
pratique pour communiquer avec un PC, mais son inconvénient est le câble USB, pour éviter
cela, il existe différentes méthodes pour utiliser ce dernier sans fil

24
h. Choix de l’arduiono UNO :
Il y a de nombreuses cartes électroniques qui possèdent des plateformes basées sur des
microcontrôleurs disponibles pour l'électronique programmée. Tous ces outils prennent en
charge les détails compliqués de la programmation et les intègrent dans une présentation facile à
utiliser. De la même façon, le système Arduino simplifie la façon de travailler avec les
microcontrôleurs tout en offrant à personnes intéressées plusieurs avantages cités comme suit :
 Le prix (réduits) : les cartes Arduino sont relativement peu coûteuses comparativement aux
autres plates-formes. La moins chère des versions du module Arduino peut être assemblée à la
main, (les cartes Arduino préassemblées coûtent moins de 2500 DA.
 Multi plateforme : le logiciel Arduino, écrit en JAVA, tourne sous les systèmes d'exploitation
Windows, Macintosh et Linux. La plupart des systèmes à microcontrôleurs sont limités à
Windows.

 Un environnement de programmation clair et simple : l'environnement de programmation


Arduino (le logiciel Arduino IDE) est facile à utiliser pour les Chapitre II : Généralité sur les
composantes électroniques utilisées 26 débutants, tout en étant assez flexible pour que les
utilisateurs avancés puissent en tirer profit également.
 Logiciel Open Source et extensible : le logiciel Arduino et le langage Arduino sont publiés
sous licence open source, disponible pour être complété par des programmateurs expérimentés.
Le logiciel de programmation des modules Arduino est une application JAVA multi plateformes
(fonctionnant sur tout système d'exploitation), servant d'éditeur de code et de compilateur, et qui
peut transférer le programme au travers de la liaison série (RS232, Bluetooth ou USB selon le
module).
 Matériel Open source et extensible : les cartes Arduino sont basées sur les Microcontrôleurs
Atmel ATMEGA8, ATMEGA168, ATMEGA 328, les schémas des modules sont publiés sous
une licence créative Commons, et les concepteurs des circuits expérimentés peuvent réaliser leur
propre version des cartes Arduino, en les complétant et en les améliorant. Même les utilisateurs
relativement inexpérimentés peuvent fabriquer la version sur plaque d'essai de la carte Arduino,
dont le but est de comprendre comment elle fonctionne pour économiser le coût.

2. Présentation du module GSM :


Le shield GSM/GPRS est basé sur un module SIM900 de SIMCOM, il est compatible avec
Arduino et ses clones. Le shield GPRS permet à notre carte Arduino de communiquer en
utilisant le réseau GSM. Ce shield permet d'envoyer des SMS, MMS, GPRS et d’Audio en
envoyant des commandes AT à l'UART. Les commandes AT supportées sont GSM 07.07 ,07.05

25
et SIMCOM enhanced AT Command. Le shield dispose aussi des 12 GPIOs, 2 sorties PWM et
du convertisseur Analogique/Digital (ADC) du module SIM900 (accessible sur la carte, logique
2.8volts).

a. Caractéristiques :
Le module GSM SIM900 possède plusieurs caractéristiques qui sont montrées le tableau
suivant :

Tableau 4: caractéristiques du module GSM sim900

Dimensions 68.7mm X 53.5mm X 19.6mm

Module Quad-band 850/900/1800/1900 MHz

Protocoles supportés TCP/UDP

Protocole de communication UART

PWR : Alimentation, Statut, Netlight :


Indicateur LEDs
Réseau
5 V par la broche 5V
Alimentation
6,5 V à 12 V par la broche Vin
1,5 mA en veille
Consommation en Courant
400 mA max

Classe 4 (bandes 850/ 900 MHz) : 2 W


Puissance
Classe 1 (bandes 1800/ 1900 MHz) : 1 W

Température de fonctionnement – 40 °C à + 85 °C

Baud rate (par défaut) 19200bps

RoHS Oui

Poids 0.4 kg

26
b. Idées sur l’application :

 Dialogue Machine to Machine (M2M).


 Commande d'appareils à distance.
 Réseau de senseurs à distance, station météo distante.
 Système de suivit de véhicule.
c. Diagramme fonctionnel :
La figure suivante montre un schéma fonctionnel du SIM900 :
 Le moteur GSM en bande de base
 Le Flash
 La partie fréquence radio GSM
 L'interface antenne
 Les autres interfaces

Power Power management unit Radio


supply frequency

RTC

Analog interface Analog Digital Digital interface

base band base band SIM1


Audio
SIM2

UART

GPIOs
ADC
PCM

I2C

LCD/SP
I
Flash

Figure 14: Diagramme fonctionnel du SIM900

27
d. Description matérielle du shield SIM900 GSM / GPRS
Le blindage SIM900 GSM / GPRS est conçu pour entourer la puce SIM900 de tout le nécessaire
pour s'interfacer avec Arduino, ainsi que quelques accessoires supplémentaires pour profiter des
fonctionnalités uniques de la puce.

La figure ci-dessous présente les différents composants du module GSM SIM900 :

Sélection de Régulateur DEL Bouton


l’alimentatio de tension PWR POWER
n GPIOs, PWM et
DC jack
ADC du SIM900
Interfac
Interface
e
haut-parleur
antenne
Cavaliers Interface
de microphone
sélection UART de
Liaison
de la SIM900
série
liaison
matérielle
série Liaison série DEL« ETAT » DEL « RESEAU »
Rx : D0 et
logicielle Rx : D7
Tx : D1
et Tx : D8

Figure 15 vue de dessous du module GSM SIM 900

Support
carte SIM

Support pour la batterie


pour l’horloge temps
Figure 16: Vue de dessous
réel

28
e. Les LED indicateurs d'état :
Il ’y a trois LED sur le shield SIM900 GSM / GPRS qui indiquent la connectivité ou l'état
d'alimentation. En observant ces LED, nous pouvons obtenir un retour visuel sur ce qui se passe
avec le bouclier.
La figure présentée est associé aux différents LEDs du module :

Figure 17: LEDs du module SIM900

Les indications données par les 3 DELs sont présentées dans le tableau suivant :
Tableau 5: les différents LEDs du GSM SIM900

Eteinte Le shield est hors tension


DEL « PWR » (verte)
Allumée Le shield est sous tension
Le module SIM900 est hors
Eteinte
tension
DEL « ETAT » (Rouge)
Le module SIM900 est sous
Allumée
tension
Eteinte Le module SIM900 en veille
Allumée : 64 ms Eteinte : Le module ne trouve pas de
800 ms réseau
DEL « RESEAU » (Verte) Allumée : 64 ms Eteinte :
Le module a trouvé un réseau
3000 ms
Allumée : 64 ms Eteinte :
Communication GPRS
300 ms

29
f. Alimentation du bouclier SIM900 :
L'une des parties les plus importantes pour faire fonctionner le bouclier SIM900 est de lui fournir
suffisamment de puissance.

Selon l'état dans lequel il se trouve, le SIM900 peut être un appareil relativement gourmand en
énergie. La consommation de courant maximale de la puce est d'environ 2 A pendant la rafale de
transmission. Il ne tire généralement pas autant, mais peut nécessiter environ 216 mA lors des
appels téléphoniques ou 80 mA lors des transmissions réseau.

Tableau 6: les différents modes d’alimentation du module GSM SIM900

Modes Fréquence Consommation de courant


Mise hors tension 60 uA
Mode veille 1 mA
Stand-by 18 mA
Appelez GSM850 199 mA
EGSM900 216 mA
DCS1800 146 mA
PCS1900 131 mA
GPRS 453 mA
Rafale de transmission 2A
La tension de fonctionnement de la puce SIM900 est de 3,4 V à 4,4 V. Pour maintenir la tension
d'alimentation en sécurité à 4,1 V, le shield est livré avec un régulateur de tension MIC29302WU
à courant élevé, haute précision et faible chute de tension de Micrel - capable de gérer des
courants de charge jusqu'à 3A.

La figure ci-dessous présente le régulateur de tension dans le module GSM SIM900.

Figure 18: Régulateur de tension MIC29302WU

30
Nous pouvons ajouter une alimentation externe au shield avec la prise DC 5,5 mm, à laquelle
nous pouvons connecter n'importe quel adaptateur mural 5V-9V DC dont nous disposons. À côté
de la prise DC, se trouve un interrupteur à glissière pour sélectionner la source d'alimentation
étiquetée EXTERN. Pour utiliser une source d'alimentation externe, on déplace le curseur
comme indiqué ci-dessus.

Notons que l'alimentation doit pouvoir fournir au moins 2 A de courant de surtension, sinon la
puce continuera de s'éteindre.

Liaison série

Le shield SIM900 GSM / GPRS utilise le protocole UART pour communiquer avec un Arduino.
La puce prend en charge le débit en bauds de 1200 bps à 115 200 bps avec détection automatique
des bauds.

La figure ci-dessous indique les cavaliers de la liaison dans le module GSM SIM900

Figure 19: Cavaliers de sélection de la liaison


Le choix des broches permettant la communication entre le shield GPRS et la carte Arduino via
la liaison série est réalisé via deux cavaliers.

D8(R D1(R D8(R D1(R


D7(T
x) D0(R
x) D7(T
x) D0(R
x)
x) x) x) x)
Liaison série logicielle : Rx = D7 et Tx = D8 Liaison série matérielle : Rx = D0 et Tx = D1

31
Maintenant que nous savons tout sur le bouclier, nous pouvons commencer à le brancher à notre
Arduino.

Pour commencer, on connecte les broches D7 (Tx) et D8 (Rx) sur le shield aux broches
numériques # 7 et # 8 sur Arduino. Comme nous utiliserons le logiciel série pour parler au
bouclier, nous assurons que le capuchon du cavalier est placé sur le logiciel du port série
sélectionné.

La figure suivante présente le câblage entre l’arduiono et le module GSM SIM900

Figure 20: Connexion du blindage SIM900 GSM / GPRS à Arduino MEGA

On alimente le blindage à l'aide d'une alimentation externe nominale 5V 2A. On ne doit pas
connecter cette broche à une alimentation 5V sur Arduino, car le blindage peut ne pas
fonctionner en raison du manque de courant d'alimentation. On s’assure également de
sélectionner la source d'alimentation externe avec l'interrupteur à glissière à côté de la prise DC.

On connecte maintenant toute la masse du circuit.

Enfin, on connecte l'antenne, on insère la carte SIM entièrement activée dans la prise.

Mise sous tension


Même si on met le bouclier sous tension, on doit activer la puce SIM900 pour le faire
fonctionner.

Selon la fiche technique, tirer la broche PWRKEY sur la puce LOW pendant au moins 1 seconde
allumera / éteindra la puce. Il y a deux façons de le faire avec notre bouclier.
32
g. Déclencheur matériel :
Le bouclier est livré avec un interrupteur tactile à angle droit situé près de l'indicateur LED
PWR. Vous devez appuyer sur ce commutateur pendant environ 2 secondes pour mettre le
bouclier sous / hors tension.

La figure ci-dessous présente le bouton qui permet l’activation du module :

Figure 21: Bouton POWER

h. Déclencheur logiciel :
Au lieu d'appuyer manuellement sur le PWRKEY à chaque fois, on peut activer / désactiver le
SIM900 par programme.

Tout d'abord, nous devons souder le cavalier SMD nommé R13 sur le bouclier comme mis en
évidence dans l'image.

Figure 22: Le cavalier R13 a soudé

Ensuite, on doit connecter la broche D9 du blindage à la broche D9 de l'Arduino, ce qui est


présenté dans la figure ci-dessous :

33
Figure 23: Connexion de la broche D9 du blindage à la broche D9 de l'Arduino.

Enfin, on doit ajouter la fonction personnalisée suivante dans notre programme :


Void SIM900power ()
{
PinMode (9, OUTPUT);
DigitalWrite (9, LOW);
Delay (1000);
DigitalWrite (9, HIGH);
Delay (2000);
DigitalWrite (9, LOW);
Delay(3000) ;
}

3. Commande AT sur Arduino :


a. Présentation :

Les commandes AT sont un jeu de commandes textuelles permettant de gérer la plupart des
modems ou des modules GSM. Ces commandes commencent toujours par les lettres « AT » et se
terminent obligatoirement par un retour chariot.
b. Configuration de la liaison série logicielle :

La bibliothèque « SoftwareSerial » a été développée pour permettre la communication série sur


d'autres broches numériques de l'Arduino de manière logicielle. Il est possible de gérer plusieurs

34
ports séries logiciels avec des vitesses allant jusqu'à (115200bps) cependant un seul peut recevoir
des données à la fois.

La figure ci-dessous présente la bibliothèque qu’il faut utiliser comme première étape pour
réaliser n’importe quel programme :

Inclure la bibliothèque « SoftwareSerial »

Pour inclure la librairie « Serial Software » dans un programme, on ajoutera au début


du programme la ligne suivante :

#include <SoftwareSerial.h>

Figure 24: bibliothèque SoftwareSerial

La figure ci-dessous explique comment créer une liaison série logicielle

Créer une liaison série logicielle


SoftwareSerial Nom_Liaison (Broche_Rx, Broche_Tx)

Exemple : Création d’une liaison série logicielle pour la liaison Bluetooth sur les
broches 7 (Rx) et 8 (Tx) :

SoftwareSerial MyGSM(7, 8)

Figure 25: comment créer une liaison série logicielle

35
La figure suivante est associé à la fonction « Begin » qui définir la vitesse utilisée par la liaison
série

Fonction « begin »

Nom_Liaison.begin(Vitesse) ;

Cette fonction qui doit être appelée au moins une fois, généralement dans la fonction
setup(),// permet de définir la vitesse utilisée par la liaison série.

La valeur prise par la variable « Vitesse » doit être une des vitesses définies par la
norme RS232.

SIM900.begin(9600);

Figure 26: la fonction Begin

Entrer le code PIN

La commande AT permet de faire plusieurs choses parmi lesquels on cite :

-vérifier le code PIN de la carte SIM (la figure ci-dessous) :

Code PIN
Pour entrer le code il faut envoyer la commande AT suivante :

AT+CPIN = "XXXX"

Si le code PIN est correct, le module GSM répondra à cette commande par « +CPIN:
READY ».
MyGSM.println ("AT+CPIN = \"1234\"") ; // Code PIN carte SIM

Figure 27: commande AT pour le code PIN

36
-sélectionner le mode texte (la figure ci-dessous)

Code PIN
Le shield GPRS peut envoyer des SMS selon deux modes : le mode texte et le mode
PDU (binaire). Pour envoyer un message lisible, il faut sélectionner le mode texte en
envoyant la commande AT :

AT+CMGF = 1

Le shield répondra à cette commande par « OK ».


MyGSM.println ("AT+CMGF = 1") ; // Mode Texte

Figure 28: commande AT pour sélectionner le mode texte

-Envoyer un SMS à une autre SIM comme il est indiqué dans la figure suivante :
Numéro destinataire SMS
Il faut ensuite indiquer le numéro du téléphone du destinataire du SMS. Pour cela il
faut utiliser la commande AT ci-dessous. Le numéro doit être indiqué au format E.123.

AT+CMGS = "+XXXXXXXXXXX"

MyGSM.println ("AT+CMGS = \"+3368825263411\"") ; // Numéro destinataire

Figure 29: commande AT pour envoyer un SMS

La figure suivante est associée au mode pour désactiver la répétition d’envoi du message :

Envoi texte message


Il suffit ensuite d’envoyer le texte du message. La dernière ligne du message doit
comporter un retour chariot. Le message se termine par la séquence d'échappement
CTRL-Z (caractère 26).

MyGSM.println("Alerte"); // Texte SMS


MyGSM.print((char) 26); // CTRL-Z

Figure 30: désactivations de la répétition du message

37
Recevoir un message texte (SMS)

Lorsque le GPRS Shield reçoit un SMS, le module SIM900 envoi spontanément un message
similaire à "+CMTI : "SM",21". « +CMTI : » servira de détecteur pour identifier la réception du
message. Le « 21 » indiqué dans l'exemple ci-dessus identifient la position "mémoire" où le
message est stocké. Il s'agit d'une information importante.
La carte SIM dispose de 25 emplacements pour stocker les SMS en cours de réception. Une fois
le message traité, l'emplacement mémoire devrait être libéré à l'aide de la commande AT
adéquate. S’il n’y a plus de notifications « +CMTI » c'est probablement parce que la mémoire est
saturée

-lire le message reçu (la figure ci-dessous)

Lecture du contenu d’un SMS

Pour lire le contenu d'un SMS, il faut utiliser la commande suivante avec « XX »
représentant la " la position mémoire où est stocké le message.

AT+CMGR = "XX"

Le+CMGR:
module SIM900 produira le résultat suivant :
"REC UNREAD","+21695118206","","13/07/20,14:00:39+08" Message

Il est alors possible d’identifier le statut du message (REC UNREAD), le numéro de


l'émetteur (+21695118206), la date l'heure (13/07/20 à 14:00:39) et le contenu du
message.
2.2.1Mise en œuvre du shield GSM avec la carte Arduino :
MyGSM.println("AT+CMGR = \"19\""); // Lecture message 19

Figure 31: commande AT pour lire le message reçu

Le programme suivant permet d’émettre un SMS lorsqu’un caractère est entré dans le moniteur
série et de recevoir des SMS en direct :

#include <SoftwareSerial.h>
//Créer un objet série logiciel pour communiquer avec SIM900
SoftwareSerial SIM900 (9, 10) ; //SIM900 Tx & Rx est connecté à Arduino # 7 & # 8
Void setup()
{
//Commencez la communication série avec Arduino et SIM900
SIM900.begin(9600) ;

38
//Commencez la communication série avec Arduino et Arduino IDE (Moniteur
série)
Serial.begin(9600) ;
Delay(100) ;
SIM900.println ("AT+CMGF=1") ; // met le module GSM en mode texte
Delay(1000) ; // Délai de 1000 milli secondes ou 1 seconde
SIM900.println ("AT+CNMI=2, 2,0,0,0"); //AT Command pour recevoir un SMS en direct
Delay(1000);
}
void loop()
{
if (Serial.available()>0)
if(Serial.read()==’s’)
{
EnvoyerMessage();
}

if (SIM900.available()>0)
Serial.write(SIM900.read()); //Transférer le logiciel Serial reçu au port série
}
void EnvoyerMessage()
{
SIM900.println("AT+CMGS=\"+21695118206\"\r"); // Remplacez x par le numéro de
mobile
Delay(1000) ;
SIM900.println("Alerte") ; // Le SMS que nous souhaitons envoyer
Delay(1000) ;
SIM900.println((char)26); // Code ASCII de CTRL + Z
Delay(1000);
}

39
Emission d’un SMS
La capture d'écran ci-dessous montre les SMS envoyés depuis le bouclier SIM900 GSM / GPRS
vers un téléphone mobile :

Figure 32: envoie d'un SMS par le bouclier GSM SIM900vers le téléphone portable
La figure ci-dessous est associée à un SMS envoyé de la carte SIM dans le module GSM vers un
téléphone mobile :

Figure 33: message reçu sur le portable depuis le sim900

40
Réception d’un SMS
La capture d'écran ci-dessous montre les SMS reçu par le bouclier SIM900 GSM / GPRS depuis
un téléphone portable :

Figure 34: Réception d’un message par le bouclier GSM SIM900


La figure ci-dessous est associée à un SMS envoyé du téléphone mobile vers la carte SIM du
module GSM.

Figure 35: Envoie d’un SMS par un téléphone portable vers le SIM900

II. Conclusion
Dans ce chapitre nous avons donné les différents blocs à suivre afin de transmettre le signal en
utilisant le réseau GSM, en commençant par le module SIM900 et en terminant par l’ARDUINO
UNO. Ce chapitre est ainsi d’une utilité majeure pour ce qui suit puisqu’il détaille des notions
exploitées tout au long de la partie réalisation de notre projet.

41
Chapitre3 :
Conception du système

42
I. Introduction :
Au cours de ce chapitre on va réaliser un schéma explicatif de notre système de signalisation à
distance en utilisant logiciel Proteus8.5 ainsi qu’on va câbler le module GSM SIM900 avec la
carte Arduino UNO

1. Réalisation du système de signalisation à distance en utilisant Proteus


8Professionnal :
a. Introduction sur le logiciel Proteus8Professional :
Proteus est actuellement la seule CAO (conception assisté par ordinateur) électronique qui
permet la conception d'un système électronique complet et de le simuler, y compris avec le code
des microcontrôleurs. Pour ce faire, elle inclut un éditeur de schéma (ISIS), un outil de
placement-routage (ARES), un simulateur analogique-numérique, un environnement de
développement intégré pour microcontrôleurs, un module de programmation par logigrammes
ainsi qu'un éditeur d'interface pour smartphone afin de piloter à distance des cartes Arduino ou
Raspberry.

La figure en dessous est associée au page d’accueil du Proteus 8.5 :

Figure 36: page d'accueil du logiciel Proteus 8.5

43
2. Développement du schéma de simulation:
Dans le but de réaliser un schéma explicatif du système on va utiliser les matériels suivants :

-carte Arduino UNO R3

-module GSM SIM900

-résistance 10kilo ohm

- afficheur (Virtual terminal)

-interrupteur

- deux afficheurs

-capteur de pression MPX4115

-voltmètre

-deux résistances (R1=4.7kilo ohm et R2= 1kilo ohm)

-lampe (L1)

-un relais

Voici un modèle en Proteus qui illustre la réalisation de notre système dans la figure 35 :

Figure 37: Schéma du système de signalisation à distance

44
Notre simulation sera sur trois composants : le capteur de pression MPX4115, l’interrupteur et le
relais.

En commençant par l’interrupteur :

3. Simulation en cas d’interrupteur ouvert :


L’image ci-dessous est associée au schéma ISIS en cas d’ouvrir l’interrupteur

Figure 38: schéma ISIS en cas d'ouvrir l'interrupteur

Suite à la simulation une fenêtre Virtual terminal sera ouvrir et un message d’alarme sera affiche
comme indique la figure ci-dessous :

Figure 39: Message d'alarme

45
b. Schéma fonctionnel :

Interrupteur ouvert ordre pour Module GSM


Carte Arduino
SIM900
Envoyer un message

Message

Afficher le message Virtuel terminal

Figure 40: Traitement d’affichage du message d’alarme en cas d'ouvrir l'interrupteur


Lorsque l’interrupteur est ouvert un signal est envoyé à la carte Arduino, cette dernière donne
l’ordre au module GSM SIM900 d’envoyer un message « Alert » dans l’afficheur « Virtual
Terminal ».

4. Simulation pour lire la pression


Afin de lire la pression, le capteur de pression est câblé comme indique la figure
ci-dessous

Figure 41: simulation de capteur de pression

Suite à la simulation une fenêtre Virtual terminal sera ouvrir et la valeur de pression sera affiche
comme indique la figure ci-dessous :

46
Figure 42: valeur de pression
Lors de la variation de la pression le « Virtual terminal » réaffichera la valeur de pression comme
indique la figure en bas :

Figure 43: réafficher la valeur de pression

c. Schéma fonctionnel
Sortie de capteur donner ordre pour envoyer
Carte Arduino Module Gsm
SIM900
la valeur de pression

Valeur de pression

Virtual terminal
Affichage

Figure 44: Schémas fonctionnel de l'acquisition de la pression

47
Le capteur de pression transmet un signal vers la carte Arduino, cette dernière donne l’ordre au
module GSM SIM900 d’afficher la valeur de pression dans l’afficheur « Virtual Terminal ».lors
de la variation de la valeur de pression le cycle d’afficher le message recommencera.

Programme de simulation : voir annexe.

II. Conclusion
Au cours de ce chapitre, on a réussi à réaliser un schéma électrique illustrant notre système
de signalisation à distance de la station de forage avec le logiciel de simulation Proteus
Professional 8.5 ainsi le développement du programme Arduino pour la simulation.
Le chapitre suivant consiste à réaliser réellement notre système de signalisation au sein de
la station de forage.

48
Chapitre4 : réalisation
du système

49
I. Introduction :
Après avoir choisir les matériels correspondant à notre système de signalisation à distance et
développer un schéma électrique qui résume ce système ainsi que son programme, maintenant
on va réaliser réellement le système à distance dans la station de forage.

1. La réalisation réelle du projet :


La réalisation réelle de notre système est décomposée en trois fonctions :

-contrôler la pompe immergée à distance et envoyer un SMS en cas de défaillance

-commander la pompe à distance par un appareil mobile

-contrôler la valeur de pression est l’envoyer lorsque le récepteur l’a besoin

a. Contrôler la pompe immergée à distance :


Cette fonction permet d’informer l’operateur lorsque la pompe est en panne. L’information se
fait par l’envoie d’un SMS sur son téléphone portable. Le message envoyé sera « la pompe est
en panne ».

Schémas électrique :
La figure ci-dessous illustre le câblage pour le système de signalisation.

Figure 45: Schémas théorique du montage de la fonction de signalisation

50
Instructions et explication du montage :
En ce qui concerne le contact auxiliaire du relais thermique :

Afin de détecter les pannes au niveau de la pompe, on a utilisée le relais thermique du variateur.
Le contact auxiliaire de ce relais s’ouvre lorsqu’un défaut est survenu au niveau du circuit. La
figure ci-dessous montre l’emplacement du relais thermique sur l’installation du variateur. Le
contact auxiliaire normalement fermé est situé entre les broches 03 et 01 du variateur.

Figure 46: Emplacement du relais thermique et de son contact NC au niveau de l‘installation du


variateur

Maintenant on doit lire l’état du contact pour détecter le défaut lorsqu’il survient. La lecture de
l´état du contact auxiliaire est d’une extrême simplicité que ce soit avec un Arduino ou avec
n’importe quel autre microcontrôleur. Il suffit, en effet de relier ce dernier entre une entrée de la

51
carte et le 5V. L’entrée est par ailleurs ramenée au niveau logique bas par une résistance de
tirage (pull down) pouvant aller de 10 KΩ a 100 KΩ pour des impératifs de faible
consommation. Tant que le contact est ouvert, l’entrée est vue comme étant au niveau logique
bas. Lorsqu’il est fermé, l’entrée est vue comme étant au niveau logique haut.

En ce qui concerne le module GSM :

-Les broches D7 (Tx) et D8 (Rx) sur le module GSM seront connectées aux broches numériques
# 7 et # 8 de l’Arduino (liaison série logicielle).

-Le GND du module sera relié au GND de la carte.

Sous-programme :
#include <SoftwareSerial.h> // Bibliothèque pour utiliser la communication série

// Créer un objet série logiciel pour communiquer avec le SIM900

SoftwareSerial SIM900(7, 8); // SIM900 Tx & Rx est connecté à Arduino # 7 & # 8

// Les variables constantes:

const int brocheRelais = 11; // la broche à laquelle le relais est attaché

const int brocheContact = 2; // la broche à laquelle le contact auxiliaire est attaché

// Les variables qui vont changer :

int etatContact = HIGH; // état actuel du contact

int dernierEtatContact = HIGH; // état précédent du contact

void setup() {

// Définir la broche du relais comme SORTIE

pinMode(brocheRelais, OUTPUT);

// Par défaut, le relais est désactivé

digitalWrite(brocheRelais, HIGH);

// Définir la broche du contact comme ENTREE

pinMode(brocheContact, INPUT);

// Initialisation de la communication série

Serial.begin(9600);
52
SIM900.begin(9600) ;

// Donnez du temps à votre bouclier GSM pour vous connecter au réseau

Delay(20000) ;

// Commande AT pour régler SIM900 en mode SMS

SIM900.print("AT+CMGF=1\r");

Delay(100);

// Configurer le module pour envoyer des données SMS à la sortie série à la réception

SIM900.println("AT+CNMI=2,2,0,0,0");

Delay (1000);

Void loop() {

// Lire la broche d'entrée du contact auxiliaire

etatContact = digitalRead(brocheContact);

// comparer l’état actuelle du contact à son état précédent

// si l'état a changé

if (etatContact != dernierEtatContact) {

// si l'état est LOW(ouvert), envoyer un SMS d'alerte et désactiver le relais

If (etatContact == LOW) {

send_sms();

digitalWrite(brocheRelais, HIGH);

// Retardez un peu pour éviter de rebondir

Delay(50);

// Sauvegarde l'état actuel comme dernier état, pour l'utiliser la prochaine fois dans la boucle

53
dernierEtatContact = etatContact;

void send_sms(){

// REMPLACEZ LES X PAR LE NUMÉRO MOBILE DU BÉNÉFICIAIRE

// UTILISEZ LE CODE DE FORMAT INTERNATIONAL POUR LES NUMÉROS


MOBILES

SIM900.println("AT+CMGS=\"+21695118206\"\r");

Delay(250) ;

// Le texte SMS que on souhaite envoyer

SIM900.print("La pompe est en panne") ;

Delay(100) ;

// Fin de la commande AT avec un code ^ Z, ASCII 26

SIM900.println((char)26);

Delay(250);

b. Commande de la pompe à distance :


Cette fonction permet de commander la pompe à distance à travers le téléphone portable, partout
où il y’a un réseau GSM peu importe la distance.

Pour démarrer la pompe, if suffit d’envoyer un SMS au module GSM, contenant le message
« Démarrer la pompe ».

Pour arrêter la pompe, on envoie un SMS contenant le message « Arrêter la pompe ».

Une fois le message est arrivé au module GSM, la carte va lire le message puis commander la
pompe à travers un relais.

Le relais va être relié à la bobine du contacteur qui alimente le moteur de la pompe.

54
Schéma-électrique :
La figure ci-dessous est associée au schéma théorique réalisé pour commander la pompe :

Figure 47: Schéma théorique du montage de la fonction de commande

Instructions du montage :
 En ce qui concerne le relais :

Le relais servira comme un interrupteur qui permet d'ouvrir et de fermer le circuit alimentant la
bobine du contacteur :

-COM du relais -> 24V (source de tension)

-NO du relais -> A1 de la bobine

La commande du relais se fait à travers la carte Arduino :

-VCC du relais -> +5V de l’Arduino

-GND du relais -> GND de l’Arduino

-IN (Signal) du relais -> Pin 13 de l’Arduino

 En ce qui concerne le module GSM (même description que la première fonction)

55
Sous-programme :

#include <SoftwareSerial.h> // Bibliothèque pour utiliser la communication série

// Créer un objet série logiciel pour communiquer avec le SIM900

SoftwareSerial SIM900(7, 8); // SIM900 Tx & Rx est connecté à Arduino # 7 & # 8

// Créer une variable pour stocker les données SMS entrantes

// Les variables constantes :

const int brocheRelais = 11; // la broche à laquelle le relais est attaché

const int brocheContact = 2; // la broche à laquelle le contact auxilliaire est attaché

// Les variables qui vont changer :

// Créer une variable pour stocker les données SMS entrantes

String donneesEntrantes;

// Créer une variable pour stocker l'état de la pompe

String etatPompe;

// Le message à envoyer

String message;

void setup() {

// Définir la broche du relais comme SORTIE

pinMode(brocheRelais, OUTPUT);

// Par défaut, le relais est désactivé

digitalWrite(brocheRelais, HIGH);

// Définir la broche du contact comme ENTREE

pinMode(brocheContact, INPUT);

// Initialisation de la communication série

Serial.begin(9600);
56
SIM900.begin(9600);

// Donnez du temps à votre bouclier GSM pour vous connecter au réseau

Delay(20000) ;

// Commande AT pour régler SIM900 en mode SMS

SIM900.print("AT+CMGF=1\r");

Delay(100) ;

// Configurer le module pour envoyer des données SMS à la sortie série à la réception

SIM900.println("AT+CNMI=2,2,0,0,0");

Delay (1000) ;}

void loop()

// Si des données ont arrivées sur le port série de sim900.

if (SIM900.available()>0) {

donneesEntrantes=SIM900.readString(); // Récupère les données du port série.

// si la commande reçue est de désactiver le relais

if(donneesEntrantes.indexOf("Arreter la pompe")>=0 )

Delay(10);

// Désactiver le relais et enregistrer l'état actuel

digitalWrite(brocheRelais, HIGH);

etatPompe = "arreter";

message = "La pompe est arretée";

// Renvoie un sms pour confirmer que le relais est désactivé

send_sms(message);

donneesEntrantes= " " ;

57
}

// si la commande reçue est d'activer le relais

else if (donneesEntrantes.indexOf("Mise en marche de la pompe")>=0)

Delay(10);

digitalWrite(brocheRelais, LOW);

etatPompe = "en marche";

message = "La pompe est en marche";

// Renvoie un sms pour confirmer que le relais est activé

send_sms(message);

donneesEntrantes= "";

// si la commande reçue est d’envoyer l’état de la pompe

if(donneesEntrantes.indexOf("ETAT")>=0)

String message = "La pompe est " + etatPompe;

send_sms(message);

donneesEntrantes = "";

delay(10);

void send_sms(String message)

// REMPLACEZ LES X PAR LE NUMÉRO MOBILE DU BÉNÉFICIAIRE

58
// UTILISEZ LE CODE DE FORMAT INTERNATIONAL POUR LES NUMÉROS
MOBILES

SIM900.println("AT+CMGS=\"+21695118206\"\r");

Delay(250);

// Le texte SMS que on souhaite envoyer

SIM900.print(message);

Delay(100);

// Fin de la commande AT avec un code ^ Z, ASCII 26

SIM900.println((char)26);

Delay(250);

59
c. Contrôle de la valeur de pression :
Cette fonction permet de afficher la pression au niveau du canal de pompage, partout où il y’a un
réseau GSM peu importe la distance.

Si l’operateur veut afficher la pression sur son portable, il doit envoyer un SMS contenant le
message « Pression » au numéro du module GSM. Après quelque secondes, le module répond
avec la valeur de la pression.

Cette fonction permet par ailleurs, d’informer l’operateur lorsque le capteur tombe en panne et
lorsque la pression dépasse 3 bars.

Schémas électrique :
La figure ci-dessous illustre le câblage pour contrôler de la pression :

Figure 48: Schémas théorique du montage d’acquisition

Instructions et explication du montage :


Notre capteur utilise une boucle de courant 4-20 mA pour transmettre le signal de mesure.

La carte Arduino ne peut lire ce type de signal. Pour cette raison nous avons utilisé une
résistance de valeur 250 Ohms, reliée entre la sortie du capteur et la masse, afin de convertir ce
signal en une tension.

Lorsque le courant traverse la résistance, une tension de valeur U= R*I est produite.

60
D’après cette équation :

250Ohmsx0.004Amps=1V
250 Ohms x 0.020Amps = 5V

Donc le signal 4-20mA sera transformé en une tension de 1-5V.

La sortie sera ensuite connectée à la broche analogique A0 de l’Arduino pour lire la pression.

 Noter qu’une résistance de 10 k ohm doit être utilisée pour protéger la broche contre la
surcharge de tension, avec la broche négative de l’alimentation du capteur connectée à la
masse de l’Arduino.

Sous-programme :
Pour la plage de courant 4-20mA, les valeurs ADC 204,8 - 1023 sont utilisées lors de la lecture
directe d’une résistance de terminaison de 250 ohms (204,8 correspond à 1V et 1023 a 5V).

Ce programme lit la valeur analogique 10 fois en additionnant les valeurs ensemble.

Les valeurs sont donc 2048-10230

Dans cet exemple, je lis le transmetteur de pression PG2793.

C'est un émetteur de 0-25 bar à 4-20 mA.

Ce capteur passe également du côté négatif (1,6 mA / bar), donc 2,4 mA est une pression absolue
de 0 bar ou -1 bar.

Le programme est ci-dessous :

#include <SoftwareSerial.h> // Bibliothèque pour utiliser la communication série

// Créer un objet série logiciel pour communiquer avec le SIM900

SoftwareSerial SIM900(7, 8) ; // SIM900 Tx & Rx est connecté à Arduino # 7 & # 8

// Créer une variable pour stocker les données SMS entrantes

String donneesEntrantes;

String dataMessage;

// Variables de mesures :

Float inputVariable0 = 0 ;

Float inputVariable1 = 0 ;

61
int i = 0 ;

void setup()

// Définir la broche du capteur comme ENTREE analogique

pinMode(A0, INPUT);

// Initialisation de la communication série

Serial.begin(9600) ;

SIM900.begin(9600) ;

// Donnez du temps à notre bouclier GSM pour vous connecter au réseau

Delay(20000);

// Commande AT pour régler SIM900 en mode SMS

SIM900.print("AT+CMGF=1\r");

Delay(100);

// Configurer le module pour envoyer des données SMS à la sortie série à la réception

SIM900.println ("AT+CNMI=2, 2, 0, 0, 0");

Delay (1000);

/*Dans cet exemple, A0 est lu 10 fois pour augmenter virtuellement la résolution*/

void loop()

For (int i=0; i < 10; i++)

// lire deux fois avec un petit delais pour avoir une lecture précise.

analogRead(A0);

delay(2);

62
inputVariable1 = analogRead(A0);

inputVariable0 = inputVariable0 + inputVariable1;

inputVariable0 = (inputVariable0 - 2048) / 327.68 ;

if(SIM900.available()>0)

donneesEntrantes=SIM900.readString();

if(donneesEntrantes.indexOf("Pression")>=0 ) // Si il y a une demande pour lire la pression

delay(10);

// Creer un message contenant la valeur de pression avec deux décimale aprés la virgule.

dataMessage = ("pression: " + String(inputVariable0, 2) + " bar");

send_sms(dataMessage);

donneesEntrantes="";

// Si la pression est supérieure à 3Bar, envoyer un message d'alerte.

if (inputVariable0 > 3 )

Delay(10);

dataMessage=(" La pression a dépassée sa limite supérieur ");

send_sms(dataMessage);

// Si la pression est inférieure à -1Bar,envoyer un message supplémentaire.

if (inputVariable0 < -1.05)

63
{

Delay(10);

dataMessage=(" Capteur desserré ou cassé ");

send_sms(dataMessage);

inputVariable0 = 0 ; // Cette valeur doit être effacée avant la lecture des 10 prochaines
boucles

i = 0 ; // efface également le compteur de boucle

delay(1500) ; // attend 1,5 secondes et retourne à la boucle

void send_sms(String dataMessage)

// REMPLACEZ LES X PAR LE NUMÉRO MOBILE DU BÉNÉFICIAIRE

// UTILISEZ LE CODE DE FORMAT INTERNATIONAL POUR LES NUMÉROS


MOBILES

SIM900.println("AT+CMGS=\"+21695118206\"\r");

delay(250);

// Le texte SMS que on souhaite envoyer

SIM900.print(dataMessage);

delay(100);

// Fin de la commande AT avec un code ^ Z, ASCII 26

SIM900.println((char)26);

delay(250);

64
II. Conclusion :
Au cours de ce chapitre on a réussi à faire une réalisation réelle a notre système de
signalisation à distance au sein d la station de forage de chiba .

65
Conclusion générale

L’élaboration de ce travail dans le cadre de stage de fin des études, accompli au sein de
l’entreprise VITALAIT, nous a permis d’apprendre des nouvelles techniques, et d’enrichir nos
connaissances. Nous avons pu mettre en pratique nos connaissances théoriques acquises durant
notre formation, de plus, nous sommes confrontés aux difficultés réelles delà vie professionnelle
et du management d’équipes.

Par ailleurs, l’objectif de notre projet est atteint dans son ensemble, il nous à été bénéfique sur le
plan technique : nous sommes familiarisé aux systèmes automatisés et nous avons eu l’occasion
de manipuler une multitude de matériel et logiciels afin de valider nos compétences appropriés
lors de notre études à l’ISET. Ceci constitue une expérience adéquate pour la formation d’un
futur technicien supérieur en installation électrique et automatisme.

Notre travail a été effectué selon une démarche précise.

La première consiste à étudier le cycle de fonctionnement de la station de forage de Chiba, ainsi


que les différents composants de cette station et connaitre les différentes causes des pannes.

La deuxième est associé aux choix du matériel de notre système et élaborer une simulation
virtuelle à l’aide d’un logiciel de simulation

La dernière partie est consacrée à la mise en marche du système réellement dans la station

66
Annexes
Programmes de simulation :

#include <SoftwareSerial.h>

//Créer un objet série logiciel pour communiquer avec SIM900

SoftwareSerial mySerial (7, 8) ; //SIM900 Tx & Rx est connecté à Arduino #7 & #8

Int pressurePin = 0 ;

Int relayPin = 11 ;

Int contactPin = 2 ;

// Variables

Int lastState = LOW ; //l'état précédent de la broche d'entrée

Int currentState ; //la lecture actuelle de la broche d'entrée

Int val ;

Float pbar ; // Pression en bar

Unsigned long time ;

Void setup () {

mySerial.begin(9600) ; //Réglage du débit en bauds du module GSM

Serial.begin(9600) ; // Réglage du débit en bauds du moniteur série (Arduino)

pinMode (contactPin, INPUT_PULLUP) ;

pinMode (relayPin, OUTPUT) ;

digitalWrite (relayPin, LOW) ;

mySerial.print ("AT+CMGF=1\r") ; //Définit le module GSM en mode texte

Delay(100) ; //Délai de 1000 milli secondes ou 1 seconde

mySerial.println ("AT+CNMI=2, 2, 0, 0,0") ; //AT Command pour recevoir un SMS en direct

Delay(1000) ;

67
}

Void loop () {

// Lire l'état de l'interrupteur / bouton :

CurrentState = digitalRead (contactPin) ;

If (lastState == LOW && currentState == HIGH) {

Serial.println ("La pompe est arrêtée") ;

SendMessage () ;

// Sauver le dernier état

lastState = currentState ;

If (Serial.available()>0)

switch(Serial.read())

Case 'o' :

DigitalWrite (relayPin, HIGH) ;

Break ;

Case 'f' :

DigitalWrite (relayPin, LOW) ;

Break ;

Case ‘p’ :

/* avoir la pression*/

val = analogRead (pressurePin) ;

pbar = (((float)val/(float) 1023+0.095)/0.009)/100 ;

/*envoyer la pression au port série */

Serial.print ("Pression: ") ;

68
Serial.print(pbar) ;

Serial.println ("bar ") ;

Delay(100) ;

Break ;

Void SendMessage ()

mySerial.println ("AT+CMGS=\"+21697854095\"\r") ; // Remplacer x par le numéro de mobile

Delay(100) ;

mySerial.println ("La pompe est arretee") ; // Le SMS que vous souhaitez envoyer

mySerial.println ((char) 26) ; //Code ASCII de CTRL + Z

Delay(100) ;

69
Datasheet du capteur de pression :

70
71
72
Datasheet du module GSM SIM900 :

73
74
75
76
77
Data sheet du variateur vlc HVAC drive :

78
79
80
Sitographie
1/https://www.jumia.com.tn/arduino-carte-de-developpement-sim900-85090018001900-mhz-
gprsgsm-209387.html?fbclid=IwAR06M5ET-
Za7c8qfxfIJyuhjpeO2FYQc_NNEqETE3asdkqafvM3l-7Gon0Q

2/https://www.jumia.com.tn/arduino-carte-arduino-uno-r3-avec-cable-usb-
197512.html?fbclid=IwAR1XYaWO_4si80opVIqjg2cI4QNDBaIJ1rkGmKTu1uo8cjvlzzE_Cl0-
118

3/https://www.jumia.com.tn/arduino-module-de-relais-1-canal-5v-10a-
204614.html?fbclid=IwAR2HeCLEwgxhaQWbr6xhg9Vy1LMM7jtCEmW7zrZF4-
lExfREPsLBMc1yhhU

4/https://www.arduino.cc/en/main/software?fbclid=IwAR25gU_OOYHDfrV9v7bXJskXWG6K
6kLgeSbpF5xsl4ZHCy9G1yld5d1ALiA

6/https://www.google.com/search?q=sim900%20send%20and%20recieve%20sms&oq=sim900
%20send%20and%20recieve%20sms&aqs=chrome..69i57j0.5851j1j4&client=ms-android-
samsung-gj-rev1&sourceid=chrome-mobile&ie=UTF-
8&fbclid=IwAR014e3rlkA4I4aOFEDNffo9n0E7ew5EibWvWxzbSh1ElI5theYhjKF-Bxw

81

Vous aimerez peut-être aussi