Construction d’un système d’alarme (Partie 3)

ba

Dans la première partie je vous avais rapidement exposé le projet tandis que dans la deuxième, j’avais fait du shoping pour trouver les composants nécessaires au module de détection de mouvement.

 

Dans cette troisième partie j’aimerais vous parler plus en détail du circuit imprimé, de la tentative de réduction de consommation du système et de la programmation associée.

 

J’avais commencé par graver moi-même un premier prototype du circuit imprimé du détecteur de mouvement grâce à la technique dont je vous avais parlé il y a quelques mois.

 

RevB_circuit imprimé

Figure 1 - Capture du logiciel Fritzing, circuit du détecteur de mouvements

 

Le cœur du circuit est un microcontrôleur Atmel ATMEGA328. Celui-ci communique avec un module radio nRF24L01+ par l’intermédiaire d’un bus SPI.

 

Après avoir validé ce circuit, je l’ai fait fabriquer afin que celui-ci ait une apparence plus professionnelle et soit plus résistant.

J’ai utilisé le service d’Elecrow qui m’a permis d’avoir 10 copies de cette carte pour un prix d’environ 13€.

 

clip_image004 clip_image006

Figure 2 - Photos recto/verso du circuit imprimé

 

Je voulais tester un circuit imprimé de couleur blanche, et je trouve que ça rend super bien. En revanche les pistes ne sont plus très visibles et le circuit est bien plus salissant lors de la soudure.

 

Monté, le circuit est identique au prototype :

clip_image008

Figure 3 - Photo de l'intérieur du module de détection de mouvement monté

 

Comme expliqué dans la partie 2, j’ai préféré utiliser plusieurs modules tout fait plutôt que de réaliser ces circuits moi-même :

· Un circuit de charge de la batterie Lithium-ion par USB

clip_image009

· Le circuit de traitement du signal du capteur de mouvement (PIR)

clip_image010

· Le circuit du module radio nRF24L01+

clip_image011

Cela permet de diminuer la complexité du travail et surement même d’économiser de l’argent.

 

Concernant la consommation du module, j’utilise maintenant la bibliothèque Arduino Low-power.

Elle me permet de faire chuter la consommation électrique grâce à un système d’interruption.

 

Le petit circuit du détecteur de mouvement infrarouge que j’utilise contient un circuit de traitement de signal et offre une sortie de type tout-ou-rien. C’est-à-dire que lorsque que le capteur voit quelque chose devant lui, sa sortie est à l’état 1 (5V) et s’il ne vois rien sa sortie est à 0.

clip_image013

Figure 4 - Photo du dos du module de détecteur infrarouge (PIR)

 

Cette sortie tout-ou-rien est reliée à la broche D2 du microcontrôleur Arduino. Cette broche dispose d’une fonction d’interruption, c’est-à-dire qu’elle peut réveiller l’Arduino lorsque qu’un changement d’état lui est appliqué.

 

L’Arduino est donc plongé dans un sommeil très peu consommateur d’énergie jusqu’à ce que le module infrarouge détecte un mouvement et fasse changer d’état cette broche d’interruption.

 

En utilisant la bibliothèque « sleep » standard, j’obtenais une consommation en veille de 180µA sous 4,2V. Maintenant la consommation chute à 70µA, ce qui nous fait en théorie une autonomie de 2 ans et 3 mois pour une batterie de 2Ah.

L’autonomie réelle n’attendra surement jamais ça, mais la facilité de rechargement des détecteurs (une simple prise USB comme un téléphone) l’emporte.

 

Elément

Consommation en veille sous 4,2V

Microcontrôleur ATMEGA328

11µA

Module radio nRF24L01+

1,8µA

Capteur PIR

57µA

Figure 5 - Consommation électrique des différents éléments du module de détections de mouvements

 

Le système n’est bien évidement pas toujours en veille, voici les différentes phases de fonctionnement et leur consommation associés. Je n’ai pas pu chronométrer la durée de ces phases mais elles sont extrêmement courtes :

 

Veille

Mouvement détecté, envoi de l’alerte

Mise en veille

Veille

70µA

240µA

170µA

70µA

Figure 6 - Phases de fonctionnements et leur consommation

 

Et pour finir voici le programme Arduino utilisé : Programme détecteur de mouvement.

 

A bientôt.