pery95

Arduino et panStamp – régulation de chaudière de chauffage central

 Arduino philie  Commentaires fermés sur Arduino et panStamp – régulation de chaudière de chauffage central
Fév 082016
 

Bonjour.

Ma maison est chauffée par une chaudière au gaz, de marque Frisquet, modèle Hydromotrix 23kw à ventouse.

Elle utilise le satellite radio Frisquet qui fonctionne plutôt bien (en termes de portée), quel que soit l’endroit où on le place.

Mais, car il y a un mais, le bon emplacement (pour la régulation) est difficile à trouver, d’autant qu’au rez de chaussée, j’ai une seule grande pièce en L qui fait cuisine, salle à manger et salon; dans cette pièce, l’impact de la cuisine est important dès que le four chauffe et la régulation de la chaudière ne se fait donc pas bien. Les essais à d’autres emplacement ont conduit à positionner le satellite radio au sous-sol (home-cinéma); la régulation se fait plutôt bien mais, car il y a encore un mais, le sous-sol étant pratiquement totalement enterré, il y a une inertie thermique de l’ordre de 36 heures vis-à-vis de l’extérieur; je m’explique : quand la température extérieure baisse ou augmente rapidement rapidement, il faut environ 1 journée 1/2 pour que l’impact soit  sensible au sous-sol; cela signifie que pendant cette journée 1/2, la régulation ne se fait plus correctement et il fait pas très chaud ou un peu trop chaud dans le reste de la maison; par ailleurs, le basculement normal – éco – normal, le soir et le matin, entraîne des variations importantes de température dans la maison hors sous-sol (qui possède son inertie propre); enfin, au passage en mode normal le matin, la chaudière « chauffe plein pot » pendant presque 1 heure pour rattraper le différentiel (1,5°C entre normal et éco au sous-sol).

J’ai donc souhaité m’orienter sur un système de régulation qui d’une part, tient compte de la température extérieur (et de ses variations) et d’autre part, effectue une régulation « douce » du fonctionnement de la chaudière.

Il existe ce qu’il faut chez Frisquet; il s’agit du RIF5000 qui intègre une sonde extérieure, une sonde intérieure et un boitier de régulation; il se connecte sur un connecteur libre dans la chaudière et il faut bien sûr désactiver le satellite radio (quoique il semble que les deux peuvent cohabiter ?). Pb, cela « coûte un bras ».

Tous mes essais avec Arduino et panStamp m’ont incité à poursuivre dans ce sens et le projet commence vraiment à prendre forme; à ce jour, février 2016, j’ai franchi les étapes suivantes :

  • la mesure de la température extérieure se fera avec un module batterie-board panStamp (les différents bouts de code, tant en émission qu’en réception, sont opérationnels); il reste à optimiser l’autonomie, pour éviter de devoir changer la pile tous les mois voire plus souvent; le mode « sleep » du pansTamp est fonctionnel, il faut éliminer la led qui permet de visualiser l’émission et je vais faire des essais avec une cellule solaire, un mini-convertisseur et une super-cap (de 47F, oui oui, 47 farads, mais sous 2.5 volts seulement; ça fait quand même une sacrée réserve d’énergie).
  • Coté régulation, il faut une carte qui va gérer la réception de la température extérieure, la mesure et prise en compte de la température de l’eau en sortie de chaudière (les essais spnt concluant avec un capteur DS18b20, qu’il faut fixer sur le tuyau), éventuellement, la réception d’une ou plusieurs température intérieure, la commande évidemment de la chaudière (là un simple carte relais devrait suffire), un affichage local sur un afficheur LDC, un serveur Web, accessible par tablette ou smartphone… Je suis partis sur une carte Arduino UNO qui s’avère trop juste, pas en termes de calculs, mais en termes de taille de SRam pour les variables (rien que pour le serveur Web avec 2 pages, l’une pour l’affichage normal, l’autre pour la programmation des plages horaires, je suis déjà au taquet des 2ko); je vais donc passer sur une Arduino Mega.

Une fois, les différents essais réalisés et le code terminé, je compléterais l’article en rappelant notamment les différentes fonctionnalités et les modalités de raccordement à la chaudière.

A suivre…

Arduino et panStamp

 Arduino philie  Commentaires fermés sur Arduino et panStamp
Jan 132016
 

Bonjour.

Oui, oui, interruption de l’image et du son pendant presque une petite année… Désolé… Mais les affaires reprennent !

Pourquoi ce nouveau titre et quelles sont ces infidélités vis-à-vis d’Arduino ?

Pas du tout, l’évolution est logique au regard de ce que je souhaitais faire et j’avais notamment besoin d’une très faible consommation et d’une transmission radio fiable; Côté consommation, les Arduino (UNO et NANO) ne répondent pas vraiment au besoin, même avec les instructions de mises en sommeil dont on ne sait pas toujours très bien si elle sont réellement opérationnelles (les avis sont partagés sur les forums). Côté transmission radio, mes essais (en 433MHz et en 2.4GHz) n’ont pas été totalement concluant, hormis pour comprendre que le meilleurs compromis est le 868MHz , ce qui n’est pas le produits courant pour les Arduino. Les panStamp répondent à tout cela avec d’abord un chip CC1101 intégré, ensuite une mise en veille qui fait descendre la consommation au niveau du micro-ampère et en prime une compatibilité de programmation à partir de l’IDE Arduino.

Néanmoins, pas si simple que cela; après ces nombreux mois sans rien faire, je repars « presque de zéro » et commence par réinstaller l’IDE Arduino en passant à la version 1.6.7 et là les soucis apparaissent car les bibliothèques (library) ont elles aussi évoluées et il faut tout remettre à jour pour ne pas avoir des monceaux de messages d’erreur avec mes anciens sketchs et mes anciennes librairies ; heureusement, cet IDE est moderne et permet de gérer efficacement l’installation et la mise à jour des bibliothèques ainsi que l’intégration de composants supplémentaires comme les panStamp. Un petit point faible est qu’il faut disposer d’un panStick pour programmer un panStamp en le pluggant dessus, pas toujours pratique mais on s’y fait.

On trouve tout ce qu’il faut sur le plan technique – hard sur le site http://www.panstamp.com/fr/ et tout ce qu’il faut côté « soft » sur https://github.com/panStamp. Il y a aussi un Wiki, basique mais avec qq liens sur https://fr.wikipedia.org/wiki/PanStamp,_module_sans_fil.

Attention, je travaille avec des panStamps première génération, dont les photos sont encore sur les sites mais il y a désormais une seconde génération

Janvier 2016.

Bon, après quelques heures d’échauffement (ou plutôt de réchauffement !), je redeviens opérationnel; quelques test basiques et puis la mise en service d’une battery-board avec un capteur DHT22 (pour info, carte autonome recevant un panStamp et qui fonctionne avec 1 (une) pile LR6)  et je récupère les valeurs d’hygrométrie et de température; les essais suivants consiste à préparer la transmission radio; je dois donc transformer le format de données « float » délivrées par le capteur en octets pour l’émission radio; je ne m’en sors pas très bien et fais un essais avec le format « integer » et un résultat positif; je décide donc, comme le capteur DHT22 ne délivre qu’une décimale de faire un « multiplié par 10 » à pour l’émission et un « divisé par 10 » après la réception (en plus, cela ne fait que 2×2 octets à transmettre au lieu de 2×4). Les tests se font d’abord en local avec une vérification des données reconstituées puis avec une transmission radio entre 2 panStamps.

Mes sketchs par étapes : Panstamp_DHT22-2    Panstamp_DHT22-3    Panstamp_DHT22-4    Panstamp_DHT22-5    Panstamp_DHT22-5E-2    Panstamp_DHT22-5R-2.

 

Tout avance comme prévu mais il reste plusieurs sujets à traiter :

  1. les essais de portée (les premiers tests m’ont permis de valider la transmission aller et retour entre deux panStamp avec un module au sous-sol de la maison et le second à l’extérieur à environ 20mètres de la maison; je vais néanmoins revérifier tout cela avec le module hygromètre-thermomètre;
  2. tenter de récupérer les données émises sur un Arduino avec un module RFM12B – 868MHz;
  3. utiliser le développement fait par mon collègue pour WebRel (voir le lien dans mes articles sur Arduino) pour disposer d’un serveur Web qui affichera les informations.

 

A NOTER QUE : avec les panStamps, on peut faire des transmissions simples avec son propre codage et plan d’adressage ou utiliser SWAP; mes essais avec SWAP n’ont pas bien abouti, malgré l’aide en ligne du concepteur sur le forum (j’ai un peu perdu mon agilité d’esprit d’il y a 15 ans et plus et je ne maitrise pas bien les notions de pointeurs sur buffers et autres indirections); j’en reste donc sur des transmissions simples qui me suffisent et vais donc cadrer mon plan d’adresses, un peu comme je l’avais envisagé antérieurement avec les Arduino. Pour commencer, le récepteur et futur serveur Web est à l’adresse 4 et le module Thermo-Hygro est à l’adresse 11. je prévois de ne pas utiliser les adresses qui se terminent par 0 (10, 20… 150…230), de réserver les adresse en dizaine à des fonctionnalités complexes (station météo, régulation chaudière, portail…), les adresses en centaine à des fonctions électriques (commande de prises et d’éclairage) et ensuite j’aviserais; Voici le récapitulatif Plan d’adresses Philippe.

Photos des modules 1ère génération(PanStamp, panStick, Battery-board) :

panstamp_cover_01  panStick_1.2_1  bb

A noter que, suivant les modules, les barrettes n’étaient pas forcément fournies (alors qu’elles apparaissaient sur les photos) et étaient à souder.

Photos des modules actuels (panStamp AVR2, panStick 4.0, mini battery-board 1.0) :

panStamp AVR2  panStick v2  BB v2

Je n’ai pas encore utilisé ces modules nouvelle version qui, d’emblée, semblent un peu plus difficile à câbler

Vous pouvez vous rendre sur http://www.panstamp.com/fr/products/ pour disposer de l’ensemble des informations.

 

Pour la liaison radio en 868MHz avec l’Arduino, je me suis orienté sur l’utilisation du module RFM12B. Là encore, pour ceux que la soudure rebute, il faut faire attention au modèle retenu car il y a plusieurs présentations :

RFM12B_medium  s-l225 (1)  s-l225

Ce modèle (image de gauche) peut être raccordé soit directement en soudant les fils dans les encoches dorées, soit en le soudant sur l’un ou l’autre des supports.

En ce qui me concerne, ayant œuvré sur TheBay, je me suis retrouvé d’abord avec le support nu (image centrale) et ai donc racheté ensuite ce qui allait avec (image de gauche) et il est vrai qu’après soudure (et là, c’est quand même la galère, lumière et loupe obligatoires et panne de fer à souder fine voire très fine), il faut encore que j’identifie les signaux pour le raccordement.

8375475977_0d462566f9_n   DSC_2448_medium   GE1878265-40

Ces 3 modèles ont pour avantage d’être utilisable directement, comme la plupart des interfaces du monde Arduino. A noter que le modèle central peut se « planter » directement sur un Arduino UNO et il ne reste que le 3.3V à raccorder (et peut-être un autre signal ?).

Février 2016.

Les essais se poursuivent :

  • la réception en 868MHz avec un Arduino UNO n’est pour l’instant pas concluante (voir ci-dessus l’affaire « RFM12B »).
  • mesure de température avec un DS18b20 (en uni-wire).
  • développement de serveurs Web.

A bientôt pour les résultats des prochains essais.

Voir également les explications pour la régulation de chaudière.

Eté 2016 : le serveur Web fonctionne et les différents paramétrages et interfaces sont également opérationnelles.

Mise à jour avril 2017 : ces derniers mois n’ont pas été très fructueux et j’ai eu beaucoup de problème d’environnement. Des difficultés voire des impossibilités pour programmer les Arduino ou les panStamp, dus aux évolutions des environnements IDE d’une part et aux évolutions des librairies d’autre part. Il en résulte des incompatibilités majeures qui empêchent toute programmation avec à la clé des km de messages d’erreurs, particulièrement avec la librairie LCD_I²C. Je me suis par ailleurs rendu compte d’une chose au moment de la compilation ou de la programmation : l’IDE semble balayer tous les répertoires à la recherche des librairies; quand il en trouve plusieurs, ou plusieurs versions, il en prend une sans que je sache maîtriser laquelle; du coup… les erreurs en pagaille. A ce jour, je tente de recréer un environnement de développement mixte pour Arduino et panStamp, sur clé USB avec les librairies qui vont bien; néanmoins grosse inquiétude sur la pérennité de ce que j’essaye de faire si dans qq années je ne peux plus reprogrammer (après modif ou panne) mes modules.

Voilà, je reviens quand j’ai stabilisé la situation (pour l’instant sur la base d’un IDE 1.55 ou 1.65).