samedi 14 octobre 2023

ESP32 : servir une image


ESP32 : servir une image

 

Lorsque l'on développe un WebServer sur ESP32, on utilise différentes librairies : 

  • WifiServer
  • WebServer
  • EspAsyncWebServer
  • etc.

Je ne vais pas rappeler les multiples avantages d'EspAsyncWebServer, mais il peut entre autres :

  • servir des fichiers HTML, JavaScript, images, etc. à partir du système de fichiers en FLASH
  • gérer des templates à la manière de Cheetah sur un serveur PC

Le cas de WifiServer est à part. Son utilisation se rapproche de celle de la librairie Arduino Ethernet, ce qui veut dire que l'effort de développement est très important. Il n'est même pas capable de récupérer les arguments au sein d'une URL de manière simple. Je n'en parlerai donc pas.

Voyons le cas d'une image.

1. Avec EspAsyncWebServer

EspAsyncWebServer n'est pas une librairie présente dans le package ESP32 standard. Il faut l'installer : 

  • en la téléchargeant depuis https://github.com/me-no-dev/ESPAsyncWebServer
  • à l'aide du gestionnaire de bibliothèques de l'IDE ARDUINO

Ce petit exemple renvoie une image au client :

#include <WiFi.h>
#include <ESPAsyncWebServer.h>
#include <SPIFFS.h>

const char *ssid = "xxxxx";
const char *password = "xxxxx";

AsyncWebServer server(80);

void handleNotFound(AsyncWebServerRequest * request) {
  String message = "File Not Found\n\n";
  message += "URI: ";
  message += request->url();
  message += "\nMethod: ";
  message += request->methodToString();
  message += "\nArguments: ";
  message += request->args();
  message += "\n";
  for (uint8_t i = 0; i < request->args(); i++) {
    message += " " + request->argName(i) + ": " + request->arg(i) + "\n";
  }
  request->send(404, "text/plain", message);
}

void setup(void) {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  if (!SPIFFS.begin(true)) {
    Serial.println("An Error has occurred while mounting SPIFFS");
    return;
  }
  server.on("/", HTTP_GET, [](AsyncWebServerRequest * request) {
    request->send(200, "text/plain", "hello from esp32!");
  });
  server.on("/arduino.jpg", HTTP_GET, [](AsyncWebServerRequest * request) {
    request->send(SPIFFS, "/arduino.jpg", "image/jpg");
  });

  server.onNotFound(handleNotFound);

  server.begin();
  Serial.println("HTTP server started");
}

void loop(void) {
}

Ce code renvoie une image nommée arduino.jpg située à la racine du système de fichiers SPIFFS. Deux lignes suffisent (en gras).

2. Avec WebServer

WebServer est la librairie par défaut présente dans le package ESP32 standard.

Elle nécessite un effort de programmation un peu plus conséquent : 

    #include <WiFi.h>

    #include <WebServer.h>
    #include <FS.h>
    #include <SPIFFS.h>

    const char *ssid = "xxxxx";
    const char *password = "xxxxx";

    WebServer server(80);

    void handleRoot()
    {
      server.send(200, "text/plain", "hello from esp32!");
    }

    void handleImage()
    {
      File file = SPIFFS.open("/arduino.jpg");
      if (!file) {
        Serial.println("Failed to open file for reading");
        return;
      }
      if (server.streamFile(file, "image/jpg") != file.size()) {
        Serial.println("Sent less data than expected!");
      }
      file.close();
    }

    void handleNotFound() {
      String message = "File Not Found\n\n";
      message += "URI: ";
      message += server.uri();
      message += "\nMethod: ";
      message += (server.method() == HTTP_GET) ? "GET" : "POST";
      message += "\nArguments: ";
      message += server.args();
      message += "\n";
      for (uint8_t i = 0; i < server.args(); i++) {
        message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
      }
      server.send(404, "text/plain", message);
    }

    void setup(void) {
      Serial.begin(115200);
      WiFi.mode(WIFI_STA);
      WiFi.begin(ssid, password);
      Serial.println("");

      // Wait for connection
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
      }
      Serial.println("");
      Serial.print("Connected to ");
      Serial.println(ssid);
      Serial.print("IP address: ");
      Serial.println(WiFi.localIP());

      if(!SPIFFS.begin(true)){
        Serial.println("An Error has occurred while mounting SPIFFS");
        return;
      }
      server.on("/", handleRoot);
      server.on("/arduino.jpg", handleImage);

      server.onNotFound(handleNotFound);

      server.begin();
      Serial.println("HTTP server started");
    }

    void loop(void) {
      server.handleClient();
    }

    Le code utilisé pour la gestion de l'image est également en gras. Il est un peu plus complexe. Il faut bien connaître la librairie WebServer pour s'en sortir, en particulier l'existence de la méthode streamFile().

    3. Les points communs

    Dans les deux cas, le fichier arduino.jpg doit être chargé dans le système de fichier SPIFFS. Ce fichier doit être créé dans un sous-répertoire data du projet : 

    projet / projet.ino

    ........../ data / arduino.jpg

    Le fichier doit être chargé dans la mémoire FLASH de l'ESP32 à l'aide du menu "Outils/ESP32 Sketch Data Upload".

    Avant cela, si ce n'est pas déjà fait, il faut installer le plugin :

    https://github.com/me-no-dev/arduino-esp32fs-plugin

    Pour essayer ces deux exemples, il suffit de les charger dans un ESP32, après avoir modifié ces deux lignes :

    const char *ssid = "xxxxx";
    const char *password = "xxxxx";

    Il suffit de remplacer xxxxx par vos identifiants WIFI.

    Ensuite entrez dans votre navigateur l'adresse IP affichée dans le serial monitor. Il affichera ceci :

    hello from esp32!

    Si vous ajoutez /arduino.jpg à l'URL (exemple : http://192.168.1.27/arduino.jpg) Il affichera l'image que vous avez choisi.

    On peut bien évidemment intégrer l'image dans une page HTML de son choix à l'aide de la balise adéquate : 

    <img src="arduino.jpg">

    4. Conclusion

    Bien que la version WebServer ne soit pas d'une complexité insurmontable, la version EspAsyncWebServer est nettement préférable, surtout si l'on considère que l'on pourra stocker dans SPIFFS non seulement des images, mais aussi le code HTML, et éventuellement JavaScript.

    Servir un fichier HTML ou JavaScript sera extrêmement simple : 

      server.on("/", HTTP_GET, [](AsyncWebServerRequest * request) {
        request->send(SPIFFS, "/index.html", "text/html");
      });
      server.on("/example.js", HTTP_GET, [](AsyncWebServerRequest * request) {
        request->send(SPIFFS, "/example.js", "text/javascript");
      });

    Ensuite il reste à explorer les templates, qui prendront en charge les données variables des pages HTML.

    https://techtutorialsx.com/2018/07/22/esp32-arduino-http-server-template-processing/

    Les templates sont le point fort d'EspAsyncWebServer, et permettent de développer très simplement des serveurs assez conséquents.


    Cordialement

    Henri


    samedi 9 septembre 2023

    Philips PerfectDraft : Dépannage



    Philips PerfectDraft : Dépannage


    Aujourd'hui nous allons sortir des sentiers Arduino pour nous intéresser au dépannage d'une tireuse à bière. Certains vont penser que je m'égare, mais je ne pense pas. Cet article présente une manière de diagnostiquer une panne, et peut aider à dépanner d'autres appareils électriques ou électroniques.

    Cette machine vaut plus de 200€ et son dépannage est assez aisé. Sortir le tournevis et acheter un fer à souder bon marché est donc assez rentable. Elle est en ma possession depuis 2007 et a déjà subi plusieurs interventions. La panne la plus courante est connue et concerne les trois condensateurs de sortie de l'alimentation.

    Malgré que la dernière intervention ait été réalisée avec succès, j'ai constaté que la température n'avait pas atteint les 3°C requis, même au bout de deux jours. Il y a donc une deuxième panne. Nous allons les décrire une par une.

    Avant tout, un petit conseil habituel : avant toute intervention sur un appareil électrique, débranchez-le, par sécurité.

    1. Parlons gros sous

    Cet article cherche à démontrer que remplacer un appareil en panne n'est certainement pas la solution la plus économique, et que moyennant un peu de réflexion et quelques euros, il est souvent possible de le dépanner soi-même.

    Il m'est arrivé de dépanner un réfrigérateur qui avait reçu un coup de 380V suite à un accident sur la ligne EDF. Résultat : une thermistance 275V et une résistance à remplacer, pour un coût dérisoire par rapport à celui du frigo. Il est souvent possible de dépanner à moindre frais.

    Si l'on prend comme exemple le coût de remplacement de l'alimentation de cette tireuse à bière, celle-ci peut se trouver sur différents sites de revendeurs de pièces détachées, pour environ 55€. Si l'on devait confier cette réparation à un dépanneur d'électroménager celui-ci n'hésiterait pas à facturer celle-ci un plus cher, car il applique sa marge de bénéfice. Si l'on ajoute à cela une heure de main d'oeuvre (entre 40€ et 80€), on peut comprendre que beaucoup hésiteraient entre faire réparer et racheter du neuf, même à plus de 200€.

    Si l'on est moyennement habile de ses mains et que l'on est à même de remplacer 3 condensateurs  électrochimiques sur l'alimentation, cette réparation coûtera 1.50€.

    2. L'alimentation

    Comme je le disais, la panne de l'alimentation est très connue. Je vous en décris les symptômes. La machine est allumée mais les 3 voyants sur le dessus clignotent. Sur les machines récentes équipées d'un afficheur, celui-ci clignote.

    Que signifie ce clignotement ? En fait, la machine démarre, puis au moment de mettre en route le module peltier chargé du refroidissement, la tension de l'alimentation s'écroule et elle redémarre.

    Il faut donc démonter l'alimentation. Cette opération est assez simple. Il faut retirer le capot arrière. On trouve des vidéos et des tutoriels sur le WEB. Voici celle de Bri-Cole : 

    https://www.youtube.com/watch?v=nnic07nFhR4

    Cette vidéo de Elektrongeek explique plutôt bien l'intervention à réaliser pour le remplacement des condensateurs :

    https://www.youtube.com/watch?v=k4tr43KoNAU

    En bref, l'alimentation doit fournir environ 10.5V. En mesurant la mienne, elle atteint péniblement 5V, alors qu'elle fournit bien 10.5V à vide, si l'on débranche les fils qui la relient à la carte principale :

    L'alimentation est donc incapable de fournir de la puissance. Ce premier indice est suffisant. En démontant l'alimentation, on peut souvent constater que les 3 condensateurs de gauche sont bombés :

    Les voici une fois dessoudés. On voit bien qu'ils sont bombés sur le dessus :

    Le remplacement de ces 3 composants se fait à l'aide d'un fer à souder et d'une pompe à dessouder, ou de tresse à dessouder. La vidéo d'Elektrongeek explique très bien la chose.

    Attention, ce sont des condensateurs polarisés, il faut les ressouder dans le bon sens, comme sur la photo. Une inversion de polarité peut provoquer l'explosion de ces condensateurs.

    Je ne suis pas d'accord avec Elektrongeek quant au choix des condensateurs de remplacement. Les modèles d'origine sont des 1000µF 16V 105°. Les modèles courants supportent en général plutôt 85°.

    Quelle température fait-il à l'intérieur de la machine en fonctionnement ? mesurée à l'aide d'un thermomètre infrarouge,  la température des condensateurs de l'alimentation est de 42°.

    Les fabricants, dans leurs datasheets, précisent quelle est la durée de vie de leurs condensateurs. Cette durée de vie est donnée pour la température maximale, c'est à dire qu'un condensateur 85° ou 105°, soumis à 42° aura une durée de vie largement supérieure à celle qui est indiquée dans la datasheet. Mais un 105° tiendra plus longtemps.

    Les condensateurs de ma machine ont déjà été remplacés deux fois par des modèles REC 85°. Ils ont tenu environ 3 ans, contre 10 ans pour les condensateurs d'origine. Pour cette fois-ci, j'avais commandé à l'avance, il y a deux ans, les modèles suivants :

    PANASONIC EEUFR1E102B chez TME.

    • capacité 1000µF / 25V
    • dimensions Ø10x20mm
    • température maximale 105°C
    • durée de vie 10000H
    • prix : 1.80€ les 5 pièces

    Les frais de port chez TME sont élevés (environ 8€). Pour une petite commande ce n'est pas très intéressant, mais pour dépanner une machine à 200€, cela reste rentable. Libre à vous de chercher des condensateurs équivalents chez d'autres distributeurs, y compris AliExpress, Ebay ou Amazon, mais je vous déconseille de choisir des modèles 85°.

    Chez Amazon, on peut trouver par exemple ceci :

    Condensateur Elko 1000µF 25V105°C

    12€ les dix pièces, c'est acceptable.

    3. Le module peltier

    Comme je le disais plus haut, la dernière intervention sur l'alimentation n'a pas été suffisante. La température du fût reste bien au dessus des 3° nécessaires.

    Dans cette machine le refroidissement du fût est assuré par un module peltier. Comment s'assurer que celui-ci est en cause ?

    C'est possible, sans le démonter. Normalement, la machine consomme environ 65W. Si le module peltier est défectueux, elle devrait consommer beaucoup moins.

    Effectivement, le compteur Linky indique 175W lorsque la machine est débranchée, et à peine plus lorsqu'elle est branchée.

    On peut également mesurer à l'aide d'un multimètre la résistance du module peltier, après l'avoir débranché. Le mien a une résistance de 1500Ω, alors qu'elle devrait plutôt avoisiner 6Ω.

    Le doute n'est plus permis. Il faut le remplacer.

    Où commander un module peltier 12V 60W sans se ruiner ? Les revendeurs habituels de pièces détachées fournissent ce genre de pièce pour environ 40€ à 60€.

    J'ai pour ma part choisi de commander celui-ci, à 10.95€ chez GoTronic, un de mes fournisseurs habituels :

    https://www.gotronic.fr/art-module-peltier-12-vcc-tec1-12706-29529.htm

    On trouve également ce même module peltier moins cher sur Ebay ou AliExpress, environ 5€, mais le délai de livraison sera plus important.

    La datasheet du module TEC1-12706 n'est pas très claire. Les faces chaudes et froide ne sont pas bien décrites. Je vais donc le mettre en place comme le module d'origine, fil rouge à droite. Il y a peu de chances que vous ayez la malchance de tomber sur un module ayant les faces inversées.

    L'opération de remplacement est relativement simple. La vidéo de Bri-Cole est suffisamment éloquente.

    Dans cette vidéo il précise bien que les surfaces en contact avec le module peltier doivent être très bien nettoyées et parfaitement propres pour recevoir le nouveau module. Comme ma machine est assez ancienne, la vieille pâte thermique était durcie et très difficile à retirer :

    J'ai été obligé d'utiliser un grattoir équipé d'une lame de rasoir, et de l'acétone.

    Important : il serait impensable de remonter un module peltier sans l'enduire de pâte thermique. La conduction thermique s'en trouverait fortement dégradée, et il y aurait d'autres conséquences : échauffement inutile, limitation de la durée de vie du module, surconsommation.

    Plutôt que d'utiliser de la pâte thermique silicone, j'ai préféré opter pour une pâte plus haut de gamme, Arctic MX4, celle que j'utilise pour le montage de mes processeurs de PC. Elle ne pourra qu'améliorer la conduction thermique :

    J'ai également une technique différente de celle de Bri-Cole pour étaler la pâte, une technique que j'utilise d'ailleurs pour le montage des processeurs de PC. Je dépose un peu de pâte au centre du module :

    Ensuite je colle le module sur son réceptacle et je le presse en faisant des petits mouvements de rotation. La pâte va s'étaler toute seule, et aucune bulle d'air ne se formera.

    Si les fils du nouveau module sont trop fins pour tenir dans les rainures, un petit bout d'adhésif permettra de les maintenir en place :

    Je renouvelle l'opération de l'autre côté, avant de mettre en place le dissipateur aluminium. Une fois le dissipateur en place il faut le maintenir collé contre le module peltier et remettre en place les deux vis de fixation. Il faut un peu tâtonner, en déplaçant légèrement le dissipateur, jusqu'à ce que les vis entrent dans les trous.

    On peut remarquer sur cette photo que j'ai été obligé de rallonger les fils du module peltier, ceux-ci étant trop courts. J'ai utilisé pour cela quelques centimètre des fils du module d'origine, un peu de soudure et de la gaine thermorétractable. 

    Une dernière chose : si vous êtes amené à remplacer le module peltier, il est probable que votre machine soit assez âgée. Le dissipateur aluminium et son ventilateur sont certainement très poussiéreux. Un nettoyage s'impose, car la poussière empêche la bonne évacuation des calories, et rend le module peltier moins efficace. Un pinceau suffit, ou une soufflette pour ceux qui sont équipés d'un compresseur.

    Comme le précise Bri-Cole dans son tutoriel, il ne faut jamais faire tourner un ventilateur à la main lorsqu'il est relié à la carte électronique. Cela pourrait générer un courant non négligeable, et griller celle-ci. Il est préférable de débrancher le ventilateur avant tout nettoyage, surtout à la soufflette !

    Pour ma part, ce nettoyage a lieu une fois par an en début d'été, et ce n'est pas inutile, loin de là. Afin de faciliter l'accès au dissipateur, le capot arrière est simplement remis en place, mais sans ses vis de fixation.

    Il ne reste plus qu'à tester, en ayant remis le fût en place. Le compteur Linky indique 175W lorsque la machine est débranchée, et 241W lorsqu'elle est branchée, ce qui fait 66W de différence, ce qui est correct.

    Ensuite, il faut laisser la machine tourner quelques minutes, retirer le fût et mettre la main sur son réceptacle métallique. Il doit être froid. S'il est chaud, c'est que le module peltier a été monté à l'envers. Je ne parle pas du sens de branchement des fils rouge et noir, mais bien d'une inversion des faces chaude et froide lors de la mise en place du module.

    Le temps de refroidissement d'un fût neuf est en général de 12 à 15 heures. Si le fût n'a toujours atteint 3° au bout de 20 heures, il peut y avoir plusieurs causes :

    • les surfaces du dissipateur et du support du module peltier n'ont pas été suffisamment nettoyées
    • la pâte thermique est de mauvaise qualité
    • le dissipateur n'est pas correctement plaqué sur le module peltier
    • le local où se trouve la tireuse est trop chaud. J'ai déjà remarqué qu'au dessus de 25° le module peltier ne parvient pas à refroidir le fût à 3°

    Dans mon local, dont la température est de 23.5°, le fût était à bonne température le lendemain matin. La réparation s'est donc bien déroulée, et le module peltier TEC1-12706 joue parfaitement son rôle.

    4. Le robinet

    J'ai également changé le robinet de la machine il y a quelques années, pour cause de fuite :

    Je l'ai commandé directement chez Philips, pour un prix très abordable :

    https://www.philips.fr/c-p/HD5038_01/unite-de-robinet-a-biere-philips

    Un robinet défectueux peut occasionner une fuite capable de vider un fût en une nuit. Ne pas hésiter à le changer s'il donne des signes de faiblesse.

    Un autre détail important : ne jamais rincer l'intérieur du robinet à l'eau. L’aluminium se corrode facilement et cela peut à long terme accélérer l'usure.

    5. Conclusion

    Voici une petite réparation facile et bon marché. Cette machine a maintenant 16 ans et elle a fonctionné sans problème et sans interruption pendant ses 10 premières années, soit pas loin de 90000 heures ! J'estime que sa fiabilité est plutôt satisfaisante, et pour peu qu'on s'en donne la peine, on peu facilement doubler sa durée de vie.

    Il ne me reste qu'à vous souhaiter une bonne santé !


    Cordialement

    Henri


    Août 2023 : Actualité des Blogs du Mois



    Actualité des Blogs du Mois


    Sur le blog d'Yves Pelletier :

    Sur  Framboise 314 :

    Sur  MCHobby :

    Sur Anacorp :

    Sur TutoDuino :


    Cordialement

    Henri 

     

    vendredi 18 août 2023

    Passage de triphasé en monophasé

     


    Passage de triphasé en monophasé

    Un peu en marge de mes articles consacrés à l'électronique et au logiciel, voici quelques informations qui peuvent intéresser ceux qui ont une vieille installation triphasée et désireraient changer pour du monophasé.

    En effet, si l'on cherche sur le WEB comment réaliser cette opération assez simple, il est quasiment impossible de réunir absolument toutes les informations nécessaires.

    La personne que j'ai eu au téléphone lorsque j'ai fait ma demande a été incapable de me renseigner de manière précise. Elle m'a simplement conseillé de passer par un électricien.

    1. Contraintes liées au triphasé

    Le triphasé est intéressant quand on possède des appareils triphasés (machines outils, four, etc.). Si l'on possède un ou plusieurs appareils de ce type, il est difficile de se passer de ce mode de distribution.

    Attention, dans une habitation certains appareils triphasés ne sont pas reconnaissables au premier coup d’œil. Si l'appareil est branché sur une prise, la taille de celle-ci n'est pas un indice suffisant, il vaut mieux débrancher l'appareil :

    Ceci est bien une prise triphasée.

    Par contre celle-ci est monophasée 32A :

    Certains appareils peuvent être branchés sur une sortie de câble :

    • chauffe-eau
    • cuisinière
    • etc.

    Il vaut mieux démonter le cache pour inspection, à moins que le câblage soit visible côté appareil :

    • 1 fil rouge + 1 fil bleu + 1 fil jaune/vert : appareil monophasé
    • 3 fils rouges + 1 fil bleu + 1 fil jaune/vert : appareil triphasé 230V
    • 3 fils rouges + 1 fil jaune/vert : appareil triphasé 380V
    Le deuxième cas correspond à ce que l'on appelle un câblage en étoile, le troisième cas correspond à ce que l'on appelle un câblage en triangle :


    Certains appareils triphasés 230V peuvent être convertis en monophasé. Pour un chauffe-eau par exemple il suffit de brancher les trois résistances en parallèle. Par contre si c'est un modèle 380V (câblage en triangle), en 230V il ne fournira même pas la moitié de sa puissance, et il vous faudra ajouter un fil de neutre.

    C'est une question de choix personnel. Si l'habitation est équipée d'appareils triphasés non transformables en monophasé, et si leur remplacement est coûteux, autant rester en triphasé.

    Si l'habitation est équipée uniquement d'appareils monophasés, il y a certaines contraintes :

    Pour un abonnement 6KW par exemple, la puissance maximale que l'on peut consommer est de 2KW par phase.

    Contrairement à ce que l'on pourrait croire, si l'on consomme seulement sur une seule phase, on peut aller jusqu'à 3.5KW.

    Par contre, si l'on met en route un appareil consommant 2KW, et que par malchance le cumulus de 2KW se met en route également, le compteur Linky se coupe, et il affiche "Puissance dépassée".

    On comprend assez vite qu'en triphasé, malgré un abonnement 6KW, suffisant dans la majeure partie des cas, il est assez difficile d'équilibrer les phases pour avoir un fonctionnement optimal. Rien qu'en cuisine, si celle-ci est alimentée par la même phase, la mise en route simultanée d'une plaque de cuisson (1000W), d'un grille-pain (1500W) et d'une bouilloire (2000W) provoque une coupure, alors qu'en monophasé, cela passerait sans problème.

    La première solution est d'augmenter la puissance disponible, avec à la clé une augmentation du tarif de l'abonnement. Pour passer de 6KW à 12KW, il en coûtera 226.68€ au lieu de 149.28€ par an.

    2. Passer au monophasé

    Si l'on veut profiter pleinement des 6KW disponibles, passer au monophasé est une solution qui permet de ne pas augmenter le tarif de l'abonnement.

    Il y a une autre raison : certains appareils triphasés coûtent bien plus cher que leur équivalent monophasé. La différence de prix entre une pompe à chaleur triphasée et monophasée peut avoisiner 1000€. Autant investir dans une modification en monophasé qui coûtera bien moins cher.

    2.1. Marche à suivre

    Si vous avez pris la décision de passer en monophasé, la première chose à faire est d'appeler votre fournisseur d'énergie qui fixera un rendez-vous pour l'intervention. Le délai peut varier de quelques semaines à plus d'un mois. Cela vous laisse le temps de faire les modifications nécessaires, ou de contacter un électricien si vous ne vous sentez pas à même de les faire vous-même.

    N'hésitez pas à prendre un peu d'avance. Votre installation doit être prête pour le jour de l'intervention du technicien ENEDIS, mais ne tardez pas trop. D'une part, selon la configuration de l'installation et son ancienneté, sa modification peut prendre plus ou moins de temps. D'autre part, en cas d'oubli ou d'erreur de votre part, il vaut mieux avoir quelques jours devant soi afin de pouvoir effectuer les corrections.

    Comme dit plus haut, le passage en monophasé peut entraîner quelques modifications lourdes, comme le remplacement d'un chauffe-eau par exemple.

    Entre le moment où votre installation est convertie en monophasé et le moment où le technicien ENEDIS va remplacer votre compteur, votre installation sera incapable de délivrer sa puissance maximale, soit 3,5KW pour un abonnement 6KW. Il va falloir tenir avec cette puissance réduite pendant quelques jours. Par exemple il vous sera impossible de démarrer une cuisson au four pendant que le chauffe-eau ou le lave-linge est en marche. Il est possible de brancher le chauffe-eau sur un programmateur afin de l'alimenter uniquement à certains moments bien choisis de la journée. Le lave-linge peut être également être démarré en différé.

    2.2. Quel est le coût ?

    L'intervention de l'agent ENEDIS implique le remplacement du compteur et du disjoncteur principal par des modèles monophasés. Il vous en coûtera exactement 150€.

    Si vous désirez augmenter la puissance, il se peut que la section des fils aériens ou enterrés arrivant au compteur soit insuffisante. Dans ce cas, ENEDIS peut vous facturer une partie des frais de remplacement.

    2.3. Le tableau existant

    Le tableau peut être équipé de différentes manières suivant sa vétusté.

    2.2.1. Disjoncteurs

    Si des disjoncteurs sont déjà en place, l'opération sera simple. Une heure suffira.

    2.3.2. porte-fusibles bipolaires

    Si le tableau est équipé de porte-fusibles bipolaires, on peut laisser l'installation telle quelle, ou les remplacer par des disjoncteurs bipolaires et recâbler à l'identique.

    Un porte-fusible bipolaire possède deux bornes d'entrée et deux bornes de sortie :

    2.3.3. porte-fusibles unipolaires

    Un porte-fusible uinipolaire possède une borne d'entrée et une borne de sortie :

    Seuls les fils rouges sont protégés. Les fils bleus sont tous réunis sur une barrette de neutre :

    Les nouvelles normes les interdisent depuis longtemps. Il faudra les remplacer par des disjoncteurs bipolaires. Je pense que dans ce cas il vaut mieux inspecter l'intérieur du tableau.

    Il est absolument indispensable que les fils rouges et bleus soient correctement appairés sur les sortie de chaque disjoncteur.

    On peut déjà commencer par faire les comptes. Le nombre de fils rouges sortant des porte-fusibles doit être égal au nombre de fils bleus sur la barrette de neutre, +1 pour le fil bleu d'arrivée de forte section. Si c'est le cas, c'est déjà une très bonne chose.

    Si l'installation a été réalisée par un professionnel, c'est en général très simple. Il est facile de repérer les couples de fils bleu & rouge à l'intérieur du tableau. Ils sortent généralement de la même gaine.

    Si par contre l'installation a été réalisée par un amateur, plusieurs couples de fils bleu & rouge peuvent arriver par la même gaine. Et il va falloir les distinguer. Il se peut que chaque couple ait une section différente, dans ce cas il n'y a pas de question à se poser.

    Sinon, une solution consiste à appairer les fils au hasard. Les fils rouges étant déjà en place, on peut relier les fils bleus dans n'importe quel ordre sur les sorties des disjoncteurs concernés. Après avoir réarmé le disjoncteur principal, couper chaque disjoncteur à tour de rôle. Si l'installation fonctionne, comme voulu vous avez eu de la chance. Dans le cas contraire, inverser les fils bleus. Bien entendu, c'est facile avec deux paires de fils, au delà, cela prend plus de temps.

    La pire des situations est celle où plusieurs fils rouges sortent d'une même gaine, et qu'un seul fil de neutre les accompagne. Dans ce cas, il est assez difficile d'ajouter un fil de neutre dans une gaine sur une installation existante. On peut dans un premier temps relier les sorties neutre des disjoncteurs entre elles, mais ce n'est pas une solution très sécurisante. Les normes actuelles l'interdisent.

    2.3.4. Câbles d'arrivée

    Les câbles reliant le disjoncteur principal et le tableau doivent être également inspectés. Leur section doit être suffisante :

    • 6mm² pour 6KW
    • 10mm² pour 9KW
    • 16mm² pour 12KW

    Normalement, en triphasé, chaque fil de phase doit supporter le tiers de la puissance, et le fil de neutre la totalité. Dans une installation correctement dimensionnée, les fils de phase et de neutre doivent cependant être prévus pour supporter la totalité de la puissance, et avoir la même section, car l'équilibrage des phases n'est jamais parfait. Mais il vaut mieux vérifier.

    2.4. Comment faire ?

    Pour votre sécurité, avant toute intervention, couper le courant à l'aide du disjoncteur principal.

    Tout d'abord voici quelques images de mon tableau électrique :

    On peut remarquer que les différents porte fusibles sont étiquetés, ce qui est déjà une chance !

    Mais l'installation date des années 1980. Les porte-fusibles sont des modèles unipolaires, ce qui est interdit à l'heure actuelle.

    Sous le tableau principal se trouvent deux petits coffrets équipés de porte-fusibles triphasés (cuisinière et hangar) et d'un disjoncteur triphasé. On constate la présence d'une cuisinière dont le four est triphasé !

    Comme j'ai remplacé cette vieille cuisinière par une plaque de cuisson et un four électrique monophasés, rien ne m'empêche plus de passer au monophasé.

    On voit plus bas la répartition des trois phases du tableau principal. 3 bornes permettent de connecter les 3 fils de phases 10mm².

    Ces fils sont suffisants pour du 6KW.

    On voit également, sous les porte-fusibles, à gauche la barrette cuivre regroupant les fils bleus de neutre, à droite celle de terre.

    Deux porte-fusibles bipolaires sont présents, le premier et le dernier, un ajout récent sans doute.

    Quelles sont les opérations à prévoir ?

    Pour respecter les normes actuelles, il serait bon de remplacer les porte-fusibles par des disjoncteurs bipolaires.

    Egalement, un interrupteur différentiel ne ferait pas de mal, ainsi qu'une prise.

    Voici le tableau après modifications : 

    Deux fils de phase ont été supprimés, un seul a été conservé. Deux bornes reçoivent le fil de neutre (bleu) et le fil de phase (rouge), et deux peignes permettent la distribution sur les  autres disjoncteurs :

    2.4.1. Cas des disjoncteurs et des porte-fusibles bipolaires

    Si le tableau est équipé de disjoncteurs ou de porte-fusibles bipolaires, il n'y a rien d'autre à faire, sauf si vous désirez remplacer les porte-fusibles par des disjoncteurs.

    Dans ce cas, il faudra retirer tous les câbles d'arrivée, et remplacer chaque porte-fusible par un disjoncteur, et recâbler les 2 sorties à l'identique. Travailler disjoncteur par disjoncteur, éviter de décâbler tous les fils en même temps, ce sera plus facile.

    2.4.2. Cas des porte-fusibles unipolaires

    Dans ce cas, le fil de neutre arrive du disjoncteur principal jusqu'à une barrette de neutre.

    On doit donc basculer le fil de neutre sur l'entrée N des disjoncteurs.

    Les fils rouges sortant par le bas des porte-fusibles sont simplement replacés sur les sorties phase (à droite) de chaque disjoncteur, à l'identique.

    Jusqu'ici, c'est relativement simple. Si l'on en a assez pour aujourd’hui, on peut très bien laisser le fil d'arrivée bleu sur la barrette de neutre, l'installation doit fonctionner comme auparavant, sauf qu'elle est devenue monophasée.

    La dernière opération à réaliser est d’appairer les fils de neutre et de phase pour que chaque disjoncteur  puisse couper phase et neutre simultanément. Pour cela il faut ouvrir le coffret supportant le tableau et travailler à l'intérieur, afin de pouvoir repérer les couples de fils qui sortent des gaines.

    Une fois toutes les sorties neutre des disjoncteurs reliées, la barrette de neutre doit être vide. Sur la photo ci-dessus, c'est bien le cas.

    Voici le tableau terminé :

    L'ancien petit coffret à 6 modules n'était pas assez haut pour recevoir des bornes de raccordement :

    Ces bornes sont absolument nécessaires au raccordement correct des fils d'arrivée. On peut difficilement glisser ceux-ci dans un disjoncteur ou dans un différentiel, surtout si un peigne est nécessaire. En tous cas la section d'un câble de 10mm² ou 16mm² rend cette opération difficile. Avec du 6mm² cela peut s'envisager.

    Un deuxième tableau a donc été ajouté. Il accueille :

    • un disjoncteur 32A : plaque de cuisson et four
    • un disjoncteur 16A : chaudière
    • un interrupteur différentiel
    • un disjoncteur 32A : hangar
    • une prise

    Seuls les deux premiers disjoncteurs sont non protégés par le différentiel. La sortie du différentiel alimente donc l'ancien tableau, le disjoncteur du hangar, et la prise :

    En haut à gauche, les deux fils 16mm² venant du disjoncteur principal.

    2.5. Les prises triphasées

    Il y a de fortes chances que l'habitation ou ses dépendances soit équipée de prises triphasées. Il faudra les remplacer par des prises monophasées.

    S'il s'agit de prises 3 pôles + terre, il faudra retirer les 4 fils et repasser 3 fils rouge, bleu, vert/jaune. 

    S'il s'agit de prises 4 pôles + terre, on peut de contenter d'utiliser un seul fil rouge sur les 3. Le plus difficile sera de choisir le bon fil, côté prise et côté tableau. On peut procéder par essais successifs, ou s'aider d'un multimètre.

    2.6. Problèmes éventuels

    Vous avez besoin de plus de puissance, car par exemple vous comptez faire installer une pompe à chaleur ?

    Dans ce cas, il faut probablement remplacer les fils entre le disjoncteur principal et votre tableau par des fils de plus forte section :

    • 6mm² pour 6KW
    • 10mm² pour 9KW
    • 16mm² pour 12KW

    Cette opération est réalisable soi-même, car tout le matériel en aval du disjoncteur principal vous appartient.

    Actuellement, aucun fil autre que ceux appartenant à ENEDIS ne doit se trouver dans le coffret ENEDIS.

    Dans certaines installations anciennes, les fils reliant le disjoncteur principal et le tableau passent par l'intérieur du coffret bois EDF, et comme souvent le coffret EDF et le coffret du tableau sont accolés, un trou est pratiqué entre les deux pour le passage des deux câbles.

    Si c'est votre cas, vous pouvez attendre le passage du technicien ENEDIS, qui retirera lui-même les anciens fils et vous laissera câbler les nouveaux, à moins qu'il n'ait la gentillesse de le faire lui-même.

    Généralement le coffret EDF ou ENEDIS est scellé. Je vous déconseille de desceller celui-ci.

    3. Conclusion

    Avec quelques connaissance en électricité il est parfaitement possible de transformer soi-même un tableau triphasé en monophasé.

    Avant de se lancer, il convient de faire une inspection minutieuse, afin d'éviter les surprises.

    Faites soigneusement vos courses, n'oubliez rien :

    • fils d'arrivée si vous devez les remplacer
    • disjoncteurs
    • différentiel
    • bornes
    • peignes
    • prise de tableau

    Et surtout évitez de faire quoi que ce soit quand les fournisseurs de matériel sont fermés. Un oubli, ou une erreur, est toujours possible.


    Cordialement

    Henri

    Juillet 2023 : Actualité des Blogs du Mois

         


    Actualité des Blogs du Mois


    Sur le blog d'Yves Pelletier :

    Sur  Framboise 314 :

    Sur  MCHobby :

    Sur Anacorp :


    Cordialement

    Henri 

     

    mardi 15 août 2023

    ESP32 : Micro-irrigation Connectée (3ème partie)

     


    ESP32 : Micro-irrigation Connectée (3ème partie)


    Cet article fait suite à ceux-ci :

    ESP32 : Micro-irrigation Connectée (1ère partie)

    ESP32 : Micro-irrigation Connectée (2ème partie)

    Pour rappel, le projet se trouve ici :

    https://bitbucket.org/henri_bachetti/esp32-sprinkle-timer

    1. Le hardware

    Du côté matériel, le capteur d'humidité et le capteur de débit sont présents : 

    • capteur d'humidité : GPIO36 (broche SVP)
    • capteur de débit : GPIO39 (broche SVN)

    Contrairement à ce que je pensais, l'ESP32 est tout à fait capable de mesurer une tension analogique de 3.3V, ou plutôt la librairie ARDUINO fait ce qu'il faut pour que cela soit possible. Le pont diviseur R3 R5 disparaît du schéma (paragraphe 5).

    En ce qui concerne le capteur de débit, la mesure renvoie des valeurs non nulles pour un débit de zéro. Il faut que je fasse des essais afin de voir s'il ne s'agirait pas d'un problème d'alimentation. Il est alimenté par la broche 5V de l'ESP32 et celui-ci est alimenté par l'USB. Comme il ne reste que 4.7V, ce n'est peut-être pas suffisant.

    L'écran OLED est connecté, ainsi que le bouton fonction et arrosage manuel: 

    • SDA : GPIO21
    • SCL : GPIO22
    • bouton fonction : GPIO35
    • bouton arrosage manuel : GPIO34

    Comme il n'y a pas de résistance de PULLUP interne sur les GPIOS 35 et 34, il faut en ajouter une sur le schéma entre GPIO35, GPIO34 et 3.3V : 10KΩ.

    2. La configuration

    2.1. config.ini

    Le paramétrage des capteurs a été ajouté :

    [moisture]
    sensor=36
    max=50

    [flow]
    sensor=39
    max=10

    2.2 Schedule.ini

    Ce fichier reste inchangé, mis à part que deux périodes d'arrosage ont été ajoutées :

    [courges.voie1]
    schedule1=08:00,15

    [massif.voie1]
    schedule1=08:30,15

    3. L'interface HTML

    La page d'accueil comporte maintenant des boutons permettant de modifier les périodes d'arrosage et même d'en ajouter : 

    Cliquer sur l'un des boutons CONFIGURE permet d'accéder à un formulaire :

    Il suffit de modifier les valeurs et de cliquer sur OK pour enregistrer les changements. Les changements sont stockés dans le fichier schedule.ini.

    En cliquant sur le bouton AJOUTER on accède à un formulaire à peine différent :

    Le formulaire propose une liste des zones existantes.

    Attention il n'y a pas pour l'instant de contrôle de validité sur ces deux formulaires. Il faut bien respecter le format de saisie HH:MM.

    Les durées sont exprimées en minutes.

    Le bouton maintenance permet d'accéder au menu suivant :

    Les actions suivantes sont possibles :

    • tester les relais
    • afficher le fichier config.ini
    • afficher le fichier schedule.ini

    Il est donc possible de sauvegarder ces deux fichiers avant une mise à jour des fichiers HTML. Les fichiers HTML et les fichiers de configuration (.ini) sont situés dans le même répertoire data du projet. Les fichiers de configuration seraient donc écrasés à la prochaine mise à jour si l'on ne prend pas de précautions.

    4. L'écran OLED

    L'afficheur montre la date et l'heure, ainsi que l'humidité et le débit :

    Un appui sur le bouton fonction permet l'affichage de l'adresse IP de l'ESP32 pendant 4 secondes, puis de l'heure du prochain arrosage pendant 4 secondes, puis l'affichage revient à la normale.

    Un appui sur le bouton d'arrosage manuel provoque l'affichage du premier arrosage manuel possible et de sa durée :

    En appuyant plusieurs fois sur ce bouton on peut faire défiler les noms des voies. Un appui sur le bouton fonction déclenche l'arrosage manuel sur la voie choisie.

    5. Rappels

    Ce logiciel a besoin d'être compilé en utilisant les librairies suivantes :

    ESPAsyncWebServer : https://github.com/me-no-dev/ESPAsyncWebServer

    SPIFFSIniFile : https://github.com/yurilopes/SPIFFSIniFile

    SSD1306 : https://github.com/adafruit/Adafruit_SSD1306

    GFX : https://github.com/adafruit/Adafruit-GFX-Library

    ezButton : https://github.com/ArduinoGetStarted/button

    Quelques constantes peuvent être modifiées dans le code :

    // max line length in config file
    #define MAX_LINE 250
    // max definition length for object names (relays, ways, zones, etc.)
    #define MAX_DEF 50
    #define MAX_BUF 30

    // max ways and relays number
    #define MAX_WAY 128
    // max zones number
    #define MAX_ZONE 12
    // max waterings number in a day for each way
    #define MAX_SCHEDULE 4
    // max waterings number in a day for all ways
    #define MAX_WATERING 256

    On voit par exemple que le nombre d'arrosages par voie est limité à 4 par jour, ce qui me semble amplement suffisant. On peut bien entendu ajuster certaines valeurs, mais attention, celles-ci ne sont pas modifiables ultérieurement par l'interface HTML.

    Pour le reste, relire l'article précédent : 5. Essayer

    6. Le code

    Le code, comme on peut s'en douter, n'est pas constitué d'un seul sketch, il serait énorme et illisible.

    Voici une liste des fichiers :

    esp32-sprinkle-timer.ino : le sketch principal
    config.cpp, config.h : lecture du fichier de configuration config.ini
    constants.h : constantes
    flow.cpp, flow.h : capteur de débit
    hmi.cpp, hmi.h : interface homme/machine sur l'écran OLED
    html.cpp, html.h : interface homme/machine HTML
    humidity.cpp, humidity.h : capteur d'humidité
    module.cpp, module.h : gestion des modules (GPIOs, MCP23017, etc.)
    oled.cpp, oled.h : écran OLED
    relay.cpp, relay.h : gestion des relais
    schedule.cpp, schedule.h : lecture du fichier de configuration schedule.ini
    valve.cpp, valve.h : gestion des vannes
    watering.cpp, watering.h : gestion des arrosages
    way.cpp, way.h : gestion des voies
    zone.cpp, zone.h : gestion des zones

    Je veux bien admettre que ce code commence à devenir très conséquent, mais la complexité ne se gère pas avec simplicité. En opérant un découpage en modules simples, on peut toutefois réduire cette complexité et améliorer la lisibilité.

    7. Conclusion

    Les difficultés sont immenses car ce logiciel est hyper-paramétrable, et le temps manque. En effet, on peut difficilement s'occuper d'un jardin de 45m², récolter, cuisiner, faire des conserves, gérer un poulailler, aménager une nouvelle habitation, modifier son circuit électrique, et faire du développement logiciel en parallèle.

    La période hivernale sera certainement plus productive en lignes de code. Patience ...


    Cordialement

    Henri

    8. Mises à jour

    18/08/2023 : ajout de l'écran OLED et du bouton fonction
    22/08/2023 : ajout du bouton d'arrosage manuel