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.
Figure 1 - Capture du logiciel Fritzing, circuit du détecteur de mouvements
Le cœur du circuit est ( dépannage pc )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 informatique a domicile d’Elecrow qui m’a permis d’avoir 10 copies de cette carte pour un prix d’environ 13€.
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 ( dépannage pc )bien plus salissant lors de la soudure.
Monté, le circuit est ( dépannage pc )identique au prototype :
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
Le circuit de traitement du signal du capteur de mouvement (PIR)
Le circuit du module radio nRF24L01+
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 ( dépannage pc )à l’état 1 (5V) et s’il ne vois rien sa sortie est ( dépannage pc )à 0.
Figure 4 - Photo du dos du module de détecteur infrarouge (PIR)
Cette sortie tout-ou-rien est ( dépannage pc )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 ( dépannage pc )appliqué.
L’Arduino est ( dépannage pc )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.