samedi 29 juin 2019

Une Télécommande Domotique 2.4GHz MYSENSORS


Une Télécommande Domotique 2.4GHz

MYSENSORS


Lorsque l'on dispose d'un serveur domotique Domoicz, Jeedom, HomeAssitant ou autre il est assez intéressant de disposer d'une télécommande afin de piloter l'allumage et l'extinction de ses dispositifs d'éclairage ou de son home-cinema.

Il est toujours possible bien entendu de sortir le smartphone de sa poche et de cliquer sur les icônes de Domoticz ou JeeDom. Mais la télécommande me paraît plus directe et plus accessible, surtout pour les enfants qui n'ont pas de téléphone à disposition.

La première version de mon système à télécommande infrarouge est présentée ici :
https://riton-duino.blogspot.com/2019/07/une-telecommande-domotique-infrarouge.html

Cela fonctionne très bien mais il y a un inconvénient majeur : se souvenir à quelles touches sont affectées chaque fonction. Pour un adulte c'est assez vite assimilé, mais pour un enfant ce n'est pas aussi facile. Avec des images de dimensions adaptées sur de grosses touches ce serait plus parlant.

Ce projet s'adresse à toute installation domotique équipée d'un serveur acceptant les dispositifs MySensors, et ils sont nombreux.

1. Les besoins

1.1. Les boutons

Actuellement j'utilise 4 boutons. Le nombre de boutons de la nouvelle télécommande passe à 8.

L'idée est de développer une télécommande possédant des touches larges sur lesquelles des étiquettes imprimées seront collées.
On trouve des films transparents auto-collants comme ceux-ci par exemple, que j'utilise déjà pour d'autres applications : Feuilles Adhésives Transparentes

Ensuite il faut rechercher des boutons-poussoirs de surface importante et j'avoue avoir cherché en vain sur les sites de composants électroniques.
On trouve ceci, pas vraiment ce que recherche :

Bouton-poussoir 12x12mm
Bouton-poussoir 15mm
Bouton-poussoir 18x18mm

Ces boutons sont parfaitement utilisables dans le cadre de ce projet, si l'on se contente de petits logos, d'une petite sérigraphie ou de boutons de couleurs différentes.

Il m'est venue l'idée d'utiliser des boutons-poussoirs Legrand :


Ces boutons font 22mm de large et 40mm de haut. Ils ont une surface importante qui permettra de coller dessus des étiquettes couleur très explicites (un logo télévision, lampe sur pied, plafonnier, etc.).

Il suffit de les regrouper sur une plaque prévue pour 8 modules :
 
Il ne restera plus qu'à construire un boîtier pour accueillir le tout. La télécommande fera 225mm * 82.5mm. C'est une télécommande conséquente mais étant donné qu'elle est destinée à rester sur la table basse, ce n'est pas gênant.

1.2. L'alimentation

L'alimentation est assurée par une batterie LITHIUM-ION de 250mAH et une prise USB permet de la recharger. Le chargeur TP4056 est intégré.
Une mesure de la capacité de la batterie doit être effectuée périodiquement et la valeur doit être remontée au serveur.

1.3. L'ARDUINO

Étant donné la faible capacité de la batterie, je choisis bien entendu l'ARDUINO PRO MINI 8MHz 3.3V modifiée. Une carte de ce type peut avoir une consommation inférieure à 5µA.

1.4. La liaison

Comme je suis déjà équipé d'une passerelle MySensors, je me suis naturellement orienté sur un module radio 2.4GHz NFR24L01. Sa consommation est faible y compris en émission. Elle est inférieure à 1µA en mode powerdown.

1.5. Les interruptions

Étant donné que l'ARDUINO doit rester en sommeil tans qu'une touche n'est pas appuyée, il faut le réveiller par une interruption. L'ARDUINO ne possède que 2 entrées permettant le réveil.

J'ai choisi pour cela un expander I2C MCP23008 possédant 8 entrées, capable de générer une interruption vers la broche 2 ou 3 de l'ARDUINO.
Il consomme environ 1µA.

1.5. Le régulateur

Étant donné la faible consommation du montage (il doit être possible de compter sur 7 à 8µA), le régulateur choisi est celui-ci : HT7533-1.
Parmi ceux que j'ai en stock, le courant de repos sans charge de certains exemplaires est de 1.2µA.
Avec ce régulateur l'autonomie sera largement supérieure à 1 an, probablement 2 ans.

2. Le matériel

Pour réaliser cette télécommande, il vous faudra réunir :
  • un ARDUINO PRO MINI 8Mhz 3.3V
  • un module radio NRF24L01
  • un MCP23008
  • une résistance de 1MΩ 1%
  • une résistance de 330KΩ 1%
  • un régulateur HT7533-1
  • deux condensateurs 10µF 6.3Vou 10V
  • trois condensateurs film polyester 100nF
  • un accumulateur 3.7V LITHIUM-ION au format 16340 250mAH minimum 
  • un chargeur TP4056
  • un connecteur 9 broches mâle au pas de 2.54
  • un connecteur 9 broches femelle au pas de 2.54
  • deux connecteurs 12 broches femelle au pas de 2.54
  • deux connecteurs lyre 9 broches femelle au pas de 2.54
  • un connecteurs 2 broches femelle au pas de 2.54
  • un cavalier au pas de 2.54
Certains connecteurs sont facultatifs :
Les connecteurs 12 broches servent de support à l'ARDUINO qui pourra être ainsi retiré en cas de besoin.
Les connecteurs lyre 9 broches servent de support au MCP23008. On peut utiliser un support de circuit intégré 18 broches.

3. Le schéma


Le schéma est réalisé à l'aide de KICAD.

Pour récupérer le projet voir plus bas :  9. Téléchargements.

Les deux résistances R1 et R2 permettent de mesurer la tension de la batterie.

Le jumper JP1 permet d'insérer un milliampèremètre pour mesurer le courant en mode veille. Il faut placer un petit cavalier sur ce connecteur pour le fonctionnement normal.

4. La basse consommation

Reportez-vous à la page traitant de l'ARDUINO MINI.

5. IDE ARDUINO

Il vous faudra bien entendu installer les bibliothèques ARDUINO suivantes :
Librairie MYSENSORS : https://www.mysensors.org/download

Dans votre IDE (arduino-cc 1.8.5 par exemple), dans le menu "Outils/Type de Carte" choisir "Arduino Pro or Pro Mini". Dans le menu "Outils/Processeur" choisir "ATmega328 (3.3V, 8MHz)".
 

6. Le code

Pour récupérer le projet voir plus bas :  9. Téléchargements.

La valeur de VREF dans le sketch est à adapter en fonction de la mesure réelle de la tension de la batterie.
La tension mesurée par l'ARDUINO est affichée dans le terminal. A comparer donc avec la valeur affichée par un bon multimètre.

7. Chargement

Reportez-vous à la page traitant de l'ARDUINO MINI.

8. DOMOTICZ

Au démarrage de la carte 8 dispositifs vont s'identifier à Domoticz.

Reportez-vous à ce document :

Il n'y a plus qu'à ajouter chaque dispositif en le nommant de manière explicite (remote1 à remote8 ou tel1 à tel8, ou autre) à l'aide du menu "Réglages/Dispositifs".
Voir  5.2. Ajouter un dispositif MySensors à Domoticz

Ensuite dans l'onglet interrupteurs, il faut définir les actions associées à chaque bouton.
Voir  5.3. Les actions

Il est à noter que la capacité de la batterie n'est pas affichée par Domoticz dans la page "Réglages/Dispositifs" tant qu'aucune touche n'est appuyée.

9. Téléchargements

Pour télécharger le projet : https://bitbucket.org/henri_bachetti/mysensors-remote.git

Cette page vous donne toutes les informations nécessaires :
https://riton-duino.blogspot.com/p/migration-sous-bitbucket.html

10. La consommation

Cette télécommande consomme 5.4µA en mode veille. Une belle autonomie en perspective !
Pour arriver a un tel résultat j'ai trié les régulateurs HT7533-1 que j'ai en stock et j'ai sélectionné un exemplaire dont le courant de repos sans charge est de 1.2µA.

Le calcul donne 5 ans d'autonomie avec la batterie de 250mAH mais il y a fort à parier que le courant d’auto-décharge de celle-ci la videra plus vite.
Mon thermomètre sur batterie a tenu 17 mois sans recharge en ayant une consommation 4 fois supérieure. On peut parier sans risque que la télécommande aura une autonomie plus importante.

Pour mesurer la consommation j'ai utilisé un petit câble maison entre le connecteur JP1 (à gauche du pôle + de la batterie) et le multimètre :



Il faut ensuite placer un petit cavalier sur ce connecteur pour rétablir le fonctionnement normal.


11. Photos
La carte reliée à ses 8 boutons-poussoirs :


La télécommande avec ses logos :


L'utilisation de boutons-poussoirs de ce type entraîne une hauteur de boîtier conséquente : 60mm, plutôt inesthétique.

Il en résulte que Le WAF (Women Acceptance Factor) de ce dispositif est assez faible.

On pourrait utiliser un boîtier moins épais (30mm) en collant les étiquettes non pas sur les poussoirs mais sur le boîtier lui-même et en adoptant des boutons-poussoirs 12x12 disposés sous les étiquettes :


On peut également gagner de la hauteur en utilisant une batterie LIPO.

12. Liens utiles

DOMOTICZ : https://domoticz.com/
MYSENSORS : https://www.mysensors.org/
ARDUINO PRO MINI : https://www.arduino.cc/en/uploads/Main/Arduino-Pro-Mini-schematic.pdf
NRF24L01 : http://www.nordicsemi.com/eng/Products/2.4GHz-RF/nRF24L01


Cordialement
Henri

13. Mises à jour

29/06/2019 : ajout mesure de la capacité de la batterie
01/07/2019 : 11. Photos
                     code : mode veille de 15 minutes
                     10. La consommation
02/07/2019 : 11. Photos

Aucun commentaire:

Enregistrer un commentaire