Control and sending alarms
Introduction :
Dans ce chapitre on va présenter une carte électronique qui permettra de commander et
d’envoyer trois SMS à trois numéros différentes. Cette nouvelle technique est basée sur un
microcontrôleur non sur les commandes AT, car les commandes AT à plusieurs inconvénients.
1. Les inconvénients de la commande AT :
Pour appliquer cette technique il faut installer un ordinateur.
Pour appliquer les commandes AT il faut utiliser les ports séries. Mais ces ports sont
rarement trouvé dans les nouvelles gammes des ordinateurs.
Cette technique est très lent car utiliser les ports séries.
Nombre d’SMS envoyer est limité elle ne dépasse pas un seul SMS.
La plupart d’application basée sur les commandes AT utiliser le module siemens.
2. les avantages de nouvelle technologie :
Avec cette méthode on peut envoyer plusieurs SMS (112 SMS successive pour téléphone
mobile Nokia 3100) .La capacité des SMS peut envoyer dans cette technique est relié
directement a la capacité mémoire du téléphone portable utilise dans cette application.
Avec cette nouvelle technique on ne doit pas utiliser les ordinateurs pour la configuration
et la mise en marche du système mais on utilise seulement une carte de commande et
téléphone portable.
Suivant la configuration de microcontrôleur PIC on peut envoyer par exemples :
Plusieurs SMS à une seule personne.
Dix SMS à cinq personnes chacun reçoit deux SMS.
Cette technique est réalisable avec tous les modules de téléphone mobile mais il faut faire
quelques modifications sur le code source du microcontrôleur PIC.
Remarque :
Pour réaliser, configurer cette nouvelle technique il faut connaître tous les trucs de
microcontrôleur PIC.
Il faut connaître l’enchaînement software du téléphone portable applique ou relier à la
carte de commande.
3. Conception de la carte électronique :
3.1. Schéma bloc
La carte est composée d’un microcontrôleur et des transistors en commutation, ces
derniers pour commander les relais et commande la carte mère de téléphone portable, figure 4.1.
Page 2
Control and sending alarms
Carte détecteur Carte détecteur Carte de contrôle
coupure STEG défaillance GE l’augmentation de
température
Fonction OU
Microcontrôleur Transistor en Carte mère du
commutation téléphone portable
Fig.4.1Schéma bloc d’envoi SMS
3.1. Principe de fonctionnement
Notre carte sert à faire :
- De communiquer avec tous les autres cartes installés dans la boité.
- Envoyer successivement les trois SMS.
Les caractéristiques maxi de sortie d'une porte TTL de microcontrôleur sont les suivantes :
VOH = 3V IOH = 400µA
VOL = 0.8V IOL = 12mA
O = output (sortie)
H = high (haut)
L = low (bas)
Tout le monde sait que pour exciter un relais, il suffit d’applique, ou borne de sa bobine, une
tension continue et que pour le remettre au repos, il suffit de supprimer.
Pour déterminer la valeur de la tension d’excitation d’un relais, il suffit de mesurer la valeur
ohmique de sa bobine. Dans le tableau 4.1 on trouve les valeurs ohmiques minimales et
maximales des relais les plus communément.
Page 3
Control and sending alarms
Tension de Résistance Résistance
travail du relais minimale maximale
5volts 40 ohms 80 ohms
6volts 90 ohms 130 ohms
12volts 120 ohms 350 ohms
24volts 650 ohms 1000 ohms
Tab 4.1. Les valeurs ohmiques des relais
Connaissant les valeurs d’excitation et la valeur ohmique de la bobine, nous pouvons calculer le
courant consommé par le relais lorsque il s’excité en utilisant la formule :
Milliampères= (volts: ohms)*1000
Ainsi, dans notre projet on applique des relais de 6V dont la bobine présente une résistance de
95 ohm, consommera un courant de :
(6 : 95) *1000=63 milliampères
Comme la majeure partie des relais consomme des courant supérieur à 60 milliampères, nous ne
pourrons pas les excites directement avec une porte digitale (PIC) car le courant maximale que
celle-ci peut fournir en sortie est d’environ 10 à 12 milliampères.
Si, par contre, à la sortie de la porte logique de microcontrôleur on connecte un transistor, le
problème sera résolu pour autant que sur la base du transistor soit de la faire passer en état de
saturation.
Le transistor en commutation est utilisé afin d'ouvrir ou de fermer un circuit. On assimile
généralement le circuit de sortie du transistor à un interrupteur qui est commandé soit par une
tension, soit par un courant.
Le montage d'un transistor en commutation peut être
décomposé en deux circuits :
- Circuit de commande
- Circuit commuté
Page 4
Control and sending alarms
Le but est de commander un relais à l'aide d'une porte logique PIC. On ne peut pas
brancher directement le relais sur cette sortie, car il consomme trop de courant. Il faut donc
mettre un transistor qui va servir d'interrupteur commandé électriquement. Il se contente de
laisser passer un fort courant (qui vient de l'alimentation, et non de la porte logique) entre son
collecteur et son émetteur lorsqu'on lui envoie un petit courant sur la base).
* lorsque Vbe = 0, le transistor est bloque.
Ca signifie que Ic = Ie = 0, et Vce est quelconque positif.
*Et lorsque Vbe = 0.7V (tension de seuil de la diode base émetteur), le transistor est passant.
Pour qu'il soit saturé, on a vu qu'il fallait que Ib > Ic/ß
Ca signifie que Vce = Vce_sat = 0.2V pour un transistor de faible puissance. Le courant peut
alors circuler dans le transistor du collecteur vers l'émetteur. Ce qu'il faut bien voir c'est que le
transistor se comporte comme un interrupteur, c'est à dire que si "vous ne vous en servez pas", Ic
et Vce vaudront 0.
4. Résumé :
~On a donc réalisé un "interrupteur" commandé électriquement :
~ Lorsque la signal de sortie de microcontrôleur égal zéro volts, le transistor est bloqué, et par la
suite le relais n'est pas alimenté.
~ Lorsque la signal de sortie de microcontrôleur égal 2.3 volts. Donc il y à Courant de
commande, qui laisse passer un "grand" courant entre le colleteur et l'émetteur, Le relais est
alimenté.
Page 5
Control and sending alarms
5. Montage :
Carte de détecter Carte de détecter Carte de détecter
coupure L'augmentation de défaillance de GE
d'électricité température Fig.2.10
Fig. 2.2 Fig.2.7
Fig.4.2 Schéma électronique d'envoi d'SMS
Après avoir déterminer tous les étages électroniques dans la partie précédente, la partie
programmation nécessite un microcontrôleur capable de commander les différents étages
électroniques et d’assurer le fonctionnement fiable de la carte.
Page 6
Control and sending alarms
6. Microcontrôleur PIC 16F84 :
6.1 Présentation de PIC16F84
Le microcontrôleur PIC 16f84 est un circuit dont la mémoire est de type EEPROM, c’est-
à-dire, programmable est effaçable électroniquement. Il dispose en outre d’une mémoire
EEPROM de données.
Il se représente sous la forme d’un boîtier DIL à 18 broches. Le PIC 16F84 est un
microcontrôleur 8 bits d’architecture de type RISC (Reduced Instruction Set Computer). Le PIC
16F84 est de type Mid-Range, c’est-à-dire il utilise un nombre des instructions égal à 35 qui
stockent chaque instruction dans un seul mot de programme et exécutent chaque instruction en
un cycle. On atteint donc des très grandes vitesses, et les instructions sont de plus très rapidement
assimilées.
6.2. Brochage et fonction des pattes :
La Figure 4.2 montre le brochage du circuit. Les fonctions des pattes sont les suivantes :
- VSS, VDD : Alimentation
- OSC1, OSC2 : Horloge
- RA0-RA3 : Sont les pattes d’entrées / sorties 0 à 3 du port A.
-RA4/T0CKL : est la patte d’entrée /sortie 4 du port A commune d’horloge externe du timer 0.
-RB0/INT : est l’entrée /sortie 0 du port B commune avec une entrée d’interruption externe.
- RB1 à RB7 : Sont les entrée /sortie 1 à 7 du port B .Les pattes RB4 à RB7 supportent outre la
fonction interruption sur changement d’état.
- MCLR : Reset : 0V
Fig. 4.3 Brochage du circuit.
6.3 Architecture interne de PIC 16F84 :
Il est constitué des éléments suivants :
- un système d'initialisation à la mise sous tension (power-up timer, …)
- un système de génération d'horloge à partir du quartz externe (timing génération)
Page 7
Control and sending alarms
- une unité arithmétique et logique (ALU)
- une mémoire flash de programme de 1k "mots" de 14 bits (III.1 - XII)
- un compteur de programme (program counter) et une pile (stack)
- un bus spécifique pour le programme (program bus)
- un registre contenant le code de l'instruction à exécuter
- un bus spécifique pour les données (data bus)
- une mémoire RAM contenant
- les SFR
- 68 octets de donnée
6.4 Les registre internes :
Le registre INDF : c’est le registre d’adresse 00 est utilisé pour l’adressage indirect .il est
plus facile d’expliquer la mode d’adressage direct.
-Le registre TMR0 : c’est le registre d’adresse 01, il est particulier puisqu’il constante
indépendant de l’exécution du reste du programme.
-Le registre PCL et PCLATH :c’est le registre d’adresse 02 contient les 8 bits de poids
faible du PC qui est codé sur 13 bits lors d’opération d’écriture le nouveau compteur programme
est calculé à partir des 8 bits de PCL et 5 bits de PCLATH.
-Les registre PORTA et PORTB : les registre PORTA sont d’adresse 05 et les registre
PORTB d’adresse 06 qui sont de registre d’entées /sorties.
-Les registre EEDATA, EEADR, EECON1 et EECON2 : ils sont les registres utilisés
pour la lecture dans l’EEPROM et de simple utilisation pour ces opération....
6.5 Les ports parallèles :
Le PIC 16f84 dispose de deux ports parallèles appelés PORT A et PORT B .Les lignes de
ces ports peuvent être programmées individuellement en entrées ou en sorties et s’utilisent de la
même façon.
Port A : Il comporte 5 pattes d'entrée/sortie bidirectionnelles, notées RA x avec x= {0, 1,
2, 3, 4} sur le brochage du circuit (Figure 4.2). Le registre PORTA, d'adresse 05h dans la banque
0, permettent d'y accéder en lecture ou en écriture. Le registre TRISA, d'adresse 85h dans la
banque 1, permet de choisir le sens de chaque patte (entrée ou sortie) : un bit à 1 positionne le
port en entrée, un bit à 0 positionne le port en sortie.
Port B :Il comporte 8 pattes d'entrée/sortie bidirectionnelles, notées RB x avec x= {0, 1,
2, 3, 4, 5, 6, 7} sur le brochage du circuit (Figure 4.2). Le registre PORTB, d'adresse 06h dans la
banque 0, permet d'y accéder en lecture ou en écriture. Le registre TRISB, d'adresse 86h dans la
Page 8
Control and sending alarms
banque 1, permet de choisir le sens de chaque patte (entrée ou sortie) : un bit à 1 positionne le
port en entrée, un bit à 0 positionne le port en sortie.
6.6 La mémoire EEPROM de données :
La 16F84 dispose de 64 octets d’emplacement disponibles pour votre libre usage.
L’adresse physique de la zone EEPROM commence par l’adresse 0x2100.Donc nous pouvons
déjà en déduire qu’il nous faudra utiliser une procédure spéciale pour y accéder. Cette mémoire
n’est pas accessible en lecture et écriture qu’au travers de deux registres : un registre pour les
données et un registre pour les adresses.
La durée typique de programmation est de 10 ms.
Le principe d’utilisation de cette EEPROM en lecture est :
-Ecriture de l’adresse à lire dans le registre EEADR.
-Mise à 1 le bit RD du registre de contrôle EECO.
-Lecture de la donnée ainsi adressée dans le registre EEDATA.
Pour des raisons de sécurité, il faut suivre les donner suivant :
-Ecriture de l’adresse où on souhaite écrire dans le registre EEADR.
-Ecriture de la donnée dans le registre EEDATA.
6.7 Le reset :
Le reset du PIC peut être provoqué par plusieurs sources :
Une mise sous tension du circuit.
Pour faire fonctionner la PIC normalement, reliez la pin MCLR au +5v.
6.8 Les modes d’adressage :
Les modes d’adressage sont des différents types et nous pouvons les distingué par la
spécialité de chacun comme suit :
6.8.1 L’adressage littéral ou immédiat :
Par ce mode les données manipulées par l’instruction sont codées sont avec l’instruction
elle-même et ces données s’appellent un intervalle.
6.8.2 L’adressage direct :
Par ce mode la mémoire RAM est en fait divisée en registre spécifiques et un ensemble de
registre à usage général, ce mode consiste donc à coder le nom d’un registre de l’ensemble
concerné directement dans l’instruction.
6.8.3 L’adressage indirect :
Ce mode d’adressage à l’adressage à un registre par l’intermédiaire d’un autre .C’est un
mode le plus puissant parmi les autres.
6.8.4 L’adressage bit :
Page 9
Control and sending alarms
Ce type d’adressage permet la manipulation d’un bit individuel dans n’importe quel
registre. Il est à notre que ce mode d’adressage ne s’utilise jamais seul mais est toujours couplé
avec le mode d’adressage direct.
7. Configuration du microcontrôleur:
Nous utilisons dans notre carte seulement les PORTA, pour les configurer il faut utiliser
les registre TRISA, un bit à 1 met la ligne en entrée et un bit à 0 met la ligne en sortie.
8. Algorithme :
Après avoir étudier l’architecture interne, les modes d’adressage et les instructions du
microcontrôleur 16F84. Il ne reste que la programmation du notre algorithme du système d’envoi
SMS.
Page 10
Control and sending alarms
DEBUT
-Initialisation des ports
PORT A
PORT B
-Initialisation de registre
Tester
PORTB1
?=1
Numérotation, et
envoi 1er message
Temporisation
Numérotation, et
envoi 2eme message
Temporisation
Numérotation, et
envoi 3eme message
Temporisation
Tester
PORTB1
?=0
FIN
Fig4.4 Illustre l’algorithme fonctionnel du système d’envoi SMS.
Page 11
Control and sending alarms
Pour développer une application à base de microcontrôleur il faut disposer par les outils suivants.
OUTIL UTILISE
EDITEUR DE TEXTE ECRITURE DE
PROGRAMME
SOURCE
LISTING SOURCE
ASSEMBLEUR ECRITURE DE
PROGRAMME
SOURCE
LISTING OBJET
PROGRAMMATEUR ECRITURE DE
PROGRAMME
SOURCE
CIRCUIT PROGRAMME
MAQUETTE OU ECRITURE DE
SIMULATEUR OU PROGRAMME
SOURCE
EMULATEUR
Fig. 4.5 Les différentes phases de développement d’un programme.
8. Logiciel de programmation :
Pour programmer le microcontrôleur PIC 16f84, on va utilisé l’éditeur de texte bloc note
pour écrire le listing et le sauvegarder dans un fichier. SRC par la suite il vient l’assemblage et le
sauvegarde de ce dernier à l’aide du logiciel MPLAB (logiciel d’assemblage pour les
microcontrôleurs de la famille MICROCHIP).
Le fichier hexadécimal obtenu (.HEX) est ensuite transférer dans la zone code du
microcontrôleur PIC 16F84 moyennant le logiciel ICPROG par l’intermédiaire d’un
programmateur connecté au port parallèle de l’ordinateur.
Les logicielles utilisés pour la programmation sont :
Page 12
Control and sending alarms
MPLAB :
MPLAB est un outil fournit gratuitement par la société MICROCHIP, ce logiciel permet
de crée un programme pour un PIC, de l’assembler et de le simuler avant le transfert vers la
mémoire flash de notre PIC.
ICPROG:
Le logiciel "ICPROG" est indispensable à sa programmation et qui peut être gratuitement
télécharger à partir d'un site Internet. Ces logiciel de programmation est très simple, il s'agit en
effet d'un programme à présentation pseudo graphique avec menus déroulant et boites de
dialogue .Il permet les manipulations classiques sur tous les programmateurs ; sélection du
circuit à programmer, test de virginité, programmation, vérification.
Le PROTEUS :
C’est un logiciel de test qui a pour but de vérifier le montage avant de planter les
composants sur la plaque .Ce logiciel contient tous les composant nécessaire pour notre teste.
Conclusion
Notre carte est basée sur microcontrôleur PIC 16F84. Nous étions amenée à concevoir et
essayer plusieurs schémas .Nous a abouti enfin à un résultat satisfaisant et fonctionnel. La
programmation a pris une parte importante de notre travail en utilisant la programmation en
assembleur.
Page 13