mercredi 11 juin 2025

Eclairage : Philips Hue

 


Eclairage : Philips Hue


Dans ma maison achetée récemment, on peut accéder au séjour par 3 portes. Malheureusement l'une d'entre elles est dépourvue d'interrupteur, et c'est la plus utilisée !

J'ai besoin donc d'ajouter un interrupteur si je ne veux pas entrer dans la pièce de nuit à l'aveuglette. Deux choix sont possibles : 

  • installer un télérupteur et 3 poussoirs, ce qui réclamerait pas mal de travail
  • installer un va et vient piloté par radio

Il va sans dire que j'ai opté pour la deuxième solution.

1. Réalisation personnelle ou pas ?

Il serait possible de réaliser soi-même un interrupteur connecté à l'aide d'un bouton poussoir, d'un  ATMEGA328 et d'un module radio NRF24L01 alimentés par pile, mais j'ai jugé qu'il serait difficile de développer une carte aux dimensions suffisamment restreintes pour pouvoir être logée dans une boîte d'encastrement. De plus, le temps manque. Cela fera peut être l'objet d'un futur projet.

Parmi tous les systèmes existants, après avoir consulté pas mal d'avis et de documentations, j'ai finalement choisi un pack de démarrage Philips Hue, comprenant un pont (bridge), 3 ampoules et une télécommande gradateur, auquel j'ai ajouté deux télécommandes supplémentaires.

Le protocole radio utilisé est Zigbee, qui apporte certains avantages :

  • portée étendue et stabilité
  • réseau maillé : chaque dispositif agit comme un répéteur
  • faibles besoins en énergie
  • sécurité renforcée

On peut ajouter à cela qu'il existe sur le marché une grande variété d'ampoules et de luminaires compatibles, y compris d'autres marques, dont Ikéa et Osram.

2. Câblage

Les ampoules connectées doivent bien entendu être alimentées en permanence afin de pouvoir recevoir les ordres par radio. Il est donc nécessaire de démonter les interrupteurs d'origine et de les shunter :

Une fois le câblage modifié et l'ampoule mise en place, celle-ci s'allume aussitôt. Cela permet de vérifier que le câblage est correct.

Il y a toutefois un petit inconvénient : en cas de coupure secteur, les lampes Hue s'allument lorsque le secteur revient. Il vaut mieux ne pas les installer dans une chambre si l'on veut éviter d'être réveillé en pleine nuit en cas de coupure secteur.

3. Installation

Il est tout à fait possible de se passer du bridge Hue dans le cas où l'on ne désire pas utiliser de fonctions avancées, par exemple la connexion à un système domotique. Les ampoules et interrupteurs fonctionnent alors en Bluetooth, et l'éclairage peut être piloté à l'aide d'un téléphone mobile.

Pour ma part j'ai l'intention d'intégrer mon éclairage à mon système DOMOTICZ. J'ai donc installé le pont à l'aide de mon téléphone mobile et d'une des nombreuses documentations et tutoriels disponibles sur le WEB.

Côté DOMOTICZ, il suffit d'ajouter le plugin "Philips Hue Bridge" à l'aide du menu Configuration / Matériel : 

L'adresse IP du pont est à récupérer via l'interface WEB de votre box Internet. Ensuite c'est très simple, comme dit sur la page :

Laissez l'identifiant vide et appuyez sur le boutton LINK du pont Philips Hue. Puis appuyez sur le bouton "Register on Bridge"

Il sera possible après cela de piloter les ampoules Philips en passant par mon serveur DOMOTICZ, à l'aide d'une simple télécommande infrarouge, qui reste ma solution préférée pour piloter certains de mes dispositifs :

  • allumage / extinction home-cinema
  • allumage / extinction éclairages d'appoint

4. Conclusion

La réactivité de l'éclairage Philips Hue est excellente. La puissance des ampoules 1100 lumens est suffisante pour éclairer un séjour. D'autres modèles 400, 800 et 1600 lumens existent.

Bien sûr j'aurais préféré développer mon propre interrupteur connecté MYSENSORS, mais actuellement le temps manque pour achever un tel projet.

Philips Hue constitue donc pour moi une alternative tout à fait acceptable pour le moment.


Cordialement

Henri


mardi 4 février 2025

UPS : Le super-condensateur



UPS : Le super-condensateur


Dans cet article nous allons évaluer la possibilité d'utiliser un super-condensateur comme solution d'alimentation de secours (UPS : Uninterruptible Power Supply).

Les super-condensateur sont des condensateurs de très forte capacité. Celle-ci peut dépasser le millier de Farads ! Ces composants sont principalement utilisés comme réserve d'énergie dans les systèmes d'alimentation de secours, y compris dans certains onduleurs UPS du commerce.

1. Batterie vs super-condensateur

Quelles sont les principales différences entre une batterie et un super-condensateur ?

1.1. Tension

La tension de service d'une batterie dépend de sa technologie : 

  • plomb : 2V par élément
  • NI-MH : 1.2V par élément
  • LITHIUM-ION ou LIPO : 3.7V par élément

Il existe une grande diversité de super-condensateurs et leur tension de service peut varier de 2.7V à plus de 48V. Les super-condensateurs ayant une tension de service élevée sont en fait des assemblages de super-condensateur 2.7V en série.

1.2. Recharge

Le super-condensateur se charge comme un condensateur, c'est à dire instantanément, ou presque, et ceci sans chargeur, à l'aide d'une simple alimentation. La seule limitation est la capacité de l'alimentation à fournir l'ampérage nécessaire, qui peut dépasser plusieurs ampères ou dizaines d'ampères.

Comparativement, la recharge d'une batterie prend beaucoup plus de temps, au minimum 30 minutes pour celles qui sont capables de supporter un courant de charge important.

1.3. Décharge

La courbe de décharge d'un super-condensateur a la forme classique de celle d'un condensateur :

La décharge d'une batterie LITHIUM-ION est beaucoup plus plate :

2. Utilisation du super-condensateur

On pourrait penser que la décharge d'un super-condensateur est trop rapide pour que la solution puisse être exploitable pour alimenter un microcontrôleur. Mais il faut tenir compte de la capacité, qui est énorme.

Un microcontrôleur 5V par exemple peut continuer à fonctionner jusqu'à environ 3.8V. Si nous utilisons un super-condensateurs de 5.5V nous allons pouvoir alimenter une carte ARDUINO sans problème pendant un certain temps.

Pour rappel une NANO consomme environ 25mA et sa LED consomme 5mA. Cela correspond à une résistance de 200Ω sous 5V.

Dans un article précédent j'avais déterminé que la NANO allait fonctionner jusqu'à 85% de la tension d'alimentation. La tension va donc pouvoir chuter de 15%.

Considérons un condensateur de 5 Farads :

T = C * R * 0.15 = 5F * 200Ω * 0.15 = 150s = 2 minutes 30s

J'ai réalisé un petit montage d'essai avec une carte ARDUINO NANO chargée avec un programme blink.

En parallèle sur l'alimentation 5V j'ai placé deux super-condensateurs 10F / 2.7V en série. Deux résistances de 100KΩ en parallèle sur chaque condensateur permettent d'équilibrer la charge / décharge :

Comme deux condensateurs de 10F en série sont équivalents à un condensateur de 5F. Nous devrions donc obtenir le temps de fonctionnement prévu.

Lorsque je coupe l'alimentation 5V le montage continue à fonctionner durant pratiquement 3 minutes. La NANO que j'ai utilisé cesse donc de fonctionner un peu plus tard que prévu. Plusieurs raisons sont possibles :

  • elle a une plage de fonctionnement en tension plus large
  • elle consomme moins que prévu
  • les super-condensateurs ont une capacité réelle plus élevée

Le résultat est donc très satisfaisant.

Si l'on alimentait une carte ARDUINO PRO MINI modifiée, en utilisant la veille profonde, l'autonomie serait très largement supérieure.

2.1. Tension de service

Le montage précédent est il sérieusement envisageable ?

Je dirais que non. En effet, équilibrer la charge / décharge de deux super-condensateurs à l'aide de simples résistances peut paraître illusoire, et l'est probablement. Pour que la solution soit efficace il faudrait appairer les super-condensateurs pour que leurs capacités soient très voisines, ou alors utiliser des résistances de plus faible valeur, ce qui réduirait l'autonomie.

Par contre il existe des super-condensateurs ayant une tension de service de 5.5V, qui à mon avis seraient certainement plus adaptés.

On pourrait aussi envisager l'utilisation d'un convertisseur STEP-UP spécialisé du type MAX38889, qui à partir d'un seul super-condensateur de 2.7V sera capable de fournir une tension de 5V.

2.2. Temps de charge

Le montage précédent est branché sur une alimentation 5V capable de débiter 3A. En le mettant sous tension, avec des super-condensateurs préalablement vidés, le programme met environ 10 secondes à démarrer, ce qui est assez conséquent.

2.3. Alimentation par l'USB

L'alimentation d'un tel montage par le cordon USB est à proscrire. Le courant demandé à la mise sous tension est trop important.

S'il s'agit d'un port USB classique, limité à 500mA, il y a un risque pour le port USB du PC, si celui-ci n'est pas suffisamment bien protégé.

S'il s'agit d'un port USB C, limité à 3A ou 5A, la diode de protection de la NANO, située entre le 5V USB et le 5V du microcontrôleur, serait détruite.

3. Conclusion

Un super-condensateur Viking 5.5V 15F coûte environ 5€, ce qui me paraît très raisonnable pour bâtir une solution UPS simple et économique. Avec ce modèle on obtiendrait un temps de fonctionnement 3 fois supérieur, soit 9 minutes. On peut bien entendu en placer plusieurs en parallèle pour obtenir plus d'autonomie.

On peut également combiner cette solution avec une sauvegarde automatique des données sensibles en cas de coupure de courant trop longue.


Cordialement

Henri


Janvier 2025 : Actualité des Blogs du Mois

 


Actualité des Blogs du Mois


Sur  Framboise 314 :

Sur  MCHobby :

Sur Anacorp :

Sur IDEHack :


Cordialement

Henri 

 

dimanche 10 novembre 2024

DOMOTICZ : quelques méthodes de dépannage



DOMOTICZ : quelques méthodes de dépannage

 

Cela fait maintenant plus de 6 ans que j'utilise un serveur domotique nommé DOMOTICZ, et j'en suis assez fan, mais il arrive que des ennuis surviennent. Je vais les décrire dans cet article.

Mon système domotique est constitué de différents composants :

  • serveur DOMOTICZ hébergé sur une RASPBERRY PI
  • passerelle série MYSENSORS
  • capteurs développés à l'aide de cartes ARDUINO NANO, PRO MINI
  • un écran TFT piloté par un ESP8266
  • un répéteur MYSENSORS pour les capteurs éloignés

1. Panne de passerelle série

La passerelle série (serial gateway) permet de communiquer avec mes objets connectés équipés de NRF24L01 (capteurs de température, prises, relais, etc.) développés à l'aide de la librairie MYSENSORS.

Récemment, sur la page d'accueil de mon serveur, certains capteurs sont affichés en rouge, et ils n'ont pas communiqué depuis plusieurs jours :

J'ai deux types de dispositifs :

  • dispositifs ARDUINO + NRF24L01
  • dispositifs ESP8266

Apparemment seuls les dispositifs ARDUINO sont concernés. Comme il serait tout à fait étonnant que plusieurs capteurs aient le même problème simultanément, je soupçonne donc un problème sur la gateway. Après avoir branché celle-ci sur un port USB de mon PC, je lance le Moniteur Série de l'IDE ARDUINO, et les informations de DEBUG sont affichées :

0;255;3;0;9;MCO:BGN:INIT GW,CP=RNNGA--,VER=2.1.1
0;255;3;0;9;TSM:INIT
0;255;3;0;9;TSF:WUR:MS=0
0;255;3;0;9;TSM:INIT:TSP OK
0;255;3;0;9;TSM:INIT:GW MODE
0;255;3;0;9;TSM:READY:ID=0,PAR=0,DIS=0
0;255;3;0;9;MCO:REG:NOT NEEDED
0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.1.1
MYSENSORS Gateway Serial
0;255;3;0;9;MCO:BGN:STP
0;255;3;0;9;MCO:BGN:INIT OK,TSP=1

Cela me semble un peu court. Par précaution je recharge le code de l'application gateway :

0;255;3;0;9;0 MCO:BGN:INIT GW,CP=RNNGA---,FQ=16,REL=255,VER=2.3.2
0;255;3;0;9;5 TSM:INIT
0;255;3;0;9;7 TSF:WUR:MS=0
0;255;3;0;9;15 TSM:INIT:TSP OK
0;255;3;0;9;18 TSM:INIT:GW MODE
0;255;3;0;9;21 TSM:READY:ID=0,PAR=0,DIS=0
0;255;3;0;9;24 MCO:REG:NOT NEEDED
0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.3.2
MYSENSORS Gateway Serial
0;255;3;0;9;30 MCO:BGN:STP
0;255;3;0;9;37 MCO:BGN:INIT OK,TSP=1
0;255;3;0;9;40 TSM:READY:NWD REQ
0;255;3;0;9;47 ?TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:

On voit bien deux lignes supplémentaires.

Je rebranche la gateway sur la RASPBERRY PI et au bout de quelques minutes tout rentre dans l'ordre.

2. Panne de répéteur

Il arrive que certains capteurs soient affichés en rouge, mais seulement les capteurs éloignés sont concernés. La communication avec ceux-ci passe par un répéteur. Ce n'est pas la première fois que cela arrive, et ici également, en cas de problème je recharge le code de l'application répéteur et tout rentre dans l'ordre.

3. Qualité du réseau

Il peut arriver qu'un capteur ne parvienne pas à envoyer ou recevoir des informations, ou que la communication passe par intermittence.

Il est nécessaire de vérifier que le réseau 2.4GHz passe bien à l'endroit où est situé le capteur.

Pour ce faire j'utilise la carte de test MYSENSORS, alimentée par batterie, développée il y a quelques années :

J'équipe cette carte de deux LEDs, une rouge et une verte, câblées chacune avec une résistance de 1KΩ en série, entre les sorties 2 et 3 de la carte PRO MINI et GND.

On peut parfaitement réaliser cette carte à l'aide d'une plaquette à pastilles. On peut même utiliser une UNO ou une NANO, sachant que l'autonomie sera beaucoup plus faible.

Voici le code utilisé :

//#define MY_DEBUG

#define MY_RADIO_RF24
//#define MY_RADIO_RFM69

#define MY_RF24_CE_PIN        7
#define MY_RF24_CS_PIN        8

#define RLED                  2
#define GLED                  3

#define SLEEP_TIME            5000L
#define VREF                  1.099

#include <MySensors.h>  

#define CHILD_ID_TEMP         0

void before()
{
  Serial.print("MYSENSORS test sensor: ");
  Serial.println("OK");
}

void setup()  
  Serial.begin(115200);
  Serial.print("Setup");
  pinMode(RLED, OUTPUT);
  pinMode(GLED, OUTPUT);
  Serial.println(" OK");
}

void presentation() {
  Serial.print("Presentation");
  // Send the sketch version information to the gateway and Controller
  sendSketchInfo("test sensor", "1.1");
  // Present all sensors to controller
  present(CHILD_ID_TEMP, S_TEMP);
  Serial.println(" OK");
}

void sendTemp(void)
{
  MyMessage tempMsg(0,V_TEMP);

  Serial.println("sendTemp");

  float temperature = 20.00;

  if (send(tempMsg.setSensor(CHILD_ID_TEMP).set(temperature, 1)) == true) {
    digitalWrite(GLED, HIGH);
    digitalWrite(RLED, LOW);
    delay(500);
    digitalWrite(GLED, LOW);
    digitalWrite(RLED, LOW);
  }
  else {
    digitalWrite(GLED, LOW);
    digitalWrite(RLED, HIGH);
    delay(500);
    digitalWrite(GLED, LOW);
    digitalWrite(RLED, LOW);
  }
}

void loop()     
{
  sendTemp();
  sleep(SLEEP_TIME);
}

Toutes les cinq secondes, un test d'envoi d'une température fictive est effectué. Si la communication passe bien, la LED verte est allumée pendant 500ms, sinon la LED rouge est allumée.

Ce dispositif ne permet cependant pas de quantifier la qualité du réseau, comme on pourrait le faire en WIFI (RSSI).

En baladant cette carte un peu partout à l'extérieur de la maison, je constate qu'il y a des zones où le réseau n'est pas accessible. Il s'agit principalement de zones où la maison, dont les murs de pierre ont 50cm d'épaisseur, fait obstacle. Par contre, je ne m'attendais pas à ce que mon répéteur ait une portée de plus de 20 mètres à certains endroits.

Tester son environnement avec ce genre de dispositif avant la mise en place d'un capteur peut s'avérer très intéressant, et peut éviter des déboires.

4. conclusion

Ma gateway et mon répéteur sont bâtis autour de cartes ARDUINO NANO. Ce n'est pas la première fois que je suis obligé de recharger le code sur ce type de carte.

Je soupçonne un problème de fuses, car ce genre de problème peut survenir lorsque l'on coupe l'alimentation d'un ATMEGA328, et la mémoire FLASH est partiellement corrompue. Mes cartes PRO MINI n'ont pas ce genre de problème, mais cela ne veut pas dire grand chose étant donné qu'elles sont alimentées par batterie, et que par conséquent leur alimentation n'est jamais coupée.

J'envisage sérieusement de remplacer certains ARDUINOs par des modules ESP8266 ou ESP32. Malheureusement cette opération n'est pas possible sur tous les capteurs. En effet, le temps de réveil d'un ESP8266 ou d'un ESP32 est énorme, car il redémarre en partant de ZÉRO, ce qui implique une reconnexion au réseau WIFI, qui peut être longue. Sur un capteur du type détecteur de présence ou bouton-poussoir, la latence serait inacceptable.

Autre possibilité : utiliser des STM32 ? Malheureusement, les STM32 ne sont pas supportés par la librairie MYSENSORS.

Il va falloir vivre encore un moment avec ces défauts répétitifs. Pour info, le code de la gateway a été rechargé une seule fois, celui du répéteur 4 à 5 fois.

5. A lire également

Pour ceux qui ne connaissent pas DOMOTICZ ou MYSENSORS :


Cordialement

Henri