Lecture du compteur à domicile

Dans un article précédent , j'ai expliqué comment j'avais pris des relevés de compteurs d'eau. Plusieurs années se sont écoulées depuis lors. L'appareil continue de fonctionner et pendant tout ce temps je ne l'ai pas touché. Mais cela ne m'a pas semblé suffisant, car il y avait d'autres appareils dans la maison à partir desquels il était nécessaire de prendre des mesures. Je veux en parler.


Compteur d'électricité


Chaque appartement dispose d'un compteur électrique et ses relevés doivent également être livrés à temps. Nous avons eu le même problème avec les compteurs d'eau - nous nous souvenions constamment de lui quand nous étions assez loin. Il fallait en quelque sorte résoudre ce problème. Voici un compteur que j'ai installé dans le bouclier sur le palier.



Chaque compteur indique le nombre d'impulsions qu'il exécute sur 1 kW * h. J'ai un vieux compteur d'électricité installé et il n'a pas de conclusions spéciales pour compter ces impulsions. Mais il a une LED qui clignote au rythme de ces impulsions. Nous devons donc en quelque sorte déterminer que la LED a clignoté. Pour cela, j'ai décidé d'utiliser un phototransistor, qui modifie sa résistance en fonction de son éclairage. Pour qu'il ne réponde qu'à la LED, le phototransistor a été installé dans un fragment d'un bloc de bois carré et collé avec du ruban adhésif sur le comptoir. Il s'est avéré que cela peut être vu sur la photo ci-dessous.



Même pendant la réparation dans l'appartement, dans le bouclier général, j'ai installé un socle et en ai tenu une paire torsadée dans le bouclier de l'appartement avec une basse tension. J'ai installé l'appareil dans ce bouclier (il a également une prise de courant) et à travers la plaque de base, j'ai connecté le phototransistor à mon appareil. Et sous cette forme, tout fonctionne depuis plus de six mois.


Capteur de fuite d'eau


Comme échantillon, j'ai pris un capteur de fuite GIDROLOCK WSP conventionnel. Son principe de fonctionnement est similaire à un phototransistor, seulement il change sa résistance de l'eau qui y pénètre.


Révision du conseil


J'ai un peu modifié l'ancienne planche. Maintenant, le circuit est le suivant



Les modifications suivantes ont été apportées:


  1. La puce CP2102 est ajoutée au circuit pour pouvoir être connectée directement à la carte sans adaptateur
  2. Le nombre de sorties a été augmenté à 4 (M1, M2, M3, M4), ce qui vous permet de connecter simultanément un plus grand nombre de compteurs
  3. Des résistances auxiliaires (R1..R8) ont été ajoutées, ce qui a permis de configurer les sorties selon les besoins

Maintenant, chaque sortie peut être configurée pour:


  • connecter LED
  • boutons de connexion
  • connexion de compteurs (capteurs)

Lors de l'utilisation d'un phototransistor et d'un capteur de fuite, leur résistance minimale peut ne pas être suffisante pour que la tension tombe au niveau du zéro logique. Pour ce faire, un diviseur de tension a été ajouté à chaque borne.



Prenons le capteur de fuite comme exemple pour calculer le diviseur de tension. Supposons qu'un capteur soit connecté à la broche M1. Il possède des résistances auxiliaires R1 et R2. Tension d'alimentation (U) ESP 3,3V. La résistance du capteur de fuite (Rd) lorsque l'eau y pénètre devient 10kOhm. Nous devons nous assurer que la tension U2 était en dessous de la tension zéro logique. Pour ESP, c'est 0,8V, prenez 0,6V. R1 nous n'avons pas besoin, respectivement, nous prenons égal à 0. La formule de calcul de la tension U2 :


U2=U fracRdR2+Rd


Souligner R2 :


R2=Rd fracUU2U2


Rd La résistance du capteur est-elle


Remplacer les valeurs connues dans la formule


R2=10000 cdot frac3,30,60,6=45000Ohm


, arrondissez au plus grand et obtenez 47kOhm.
Pour un phototransistor, le calcul se fait de manière similaire, seul Rd est égal à la résistance du phototransistor lorsqu'il est éclairé par une LED.


Firmware


Comme auparavant, le micrologiciel a été assemblé à l'aide du constructeur en ligne . L'ancien script a été modifié pour 2 modes de fonctionnement: prendre des lectures de compteurs d'eau et prendre des lectures d'un compteur électrique. En conséquence, il existe 2 fenêtres de paramètres:



Si vous le souhaitez, vous pouvez tout combiner et ajouter quelque chose de votre choix. Lors du débogage, j'ai connecté simultanément 2 compteurs d'eau, un capteur de fuite et une LED.
Dans le mode de lecture des compteurs d'eau, les données sont transmises toutes les 60 secondes, à condition qu'il y ait eu des changements dans les lectures. En mode lecture de compteur, les données sont transmises toutes les 20 secondes sans aucune condition. Les données sont toujours transmises à thingspeak.com
Parce que dans le nouveau schéma, il n'y a pas de bouton pour entrer en mode paramètres, il a été décidé au démarrage de basculer l'appareil en mode paramètres pendant 60 secondes. Si, dans les 60 secondes, personne n'est connecté à l'appareil, nous commençons le mode de lecture. Si quelqu'un se connecte, quittez le mode des paramètres en enregistrant les données sur la page ou en redémarrant l'appareil.


Révision de l'application


Les lectures du compteur d'électricité devaient être transférées sur un canal séparé, donc dans la nouvelle version de l'application, j'ai ajouté la possibilité d'ajouter plusieurs canaux. Toutes les données sont stockées dans une base de données SQL locale afin que vous puissiez facilement et rapidement créer des graphiques. Parce que J'ai envoyé des données sur le compteur d'électricité toutes les 20 secondes, ce qui a affecté le nombre de données et, par conséquent, la vitesse de leur réception. À titre de comparaison, pendant toute la durée des relevés sur les compteurs d'eau, environ 72 000 enregistrements ont été accumulés et sur le compteur d'électricité en environ 7 mois, environ 2,6 millions. Après avoir optimisé les requêtes dans la base de données, nous avons réussi à augmenter la vitesse d'échantillonnage de plusieurs milliers de fois (je ne m'attendais pas à une telle croissance).
Dans la nouvelle version ont été ajoutés:


  1. widget compteur d'électricité
  2. graphiques linéaires
  3. la possibilité de partager un widget ou un graphique avec d'autres personnes
  4. la possibilité de travailler avec plusieurs canaux
  5. optimisation de la vitesse

Total


Après toutes les améliorations, je peux obtenir les informations suivantes:


  1. lecture actuelle du compteur
  2. consommation actuelle
  3. des informations sur la consommation et la consommation d'électricité pendant une certaine période

Bien sûr, la question demande pourquoi je n'ai pas rendu l'appareil autonome (il y a plusieurs articles sur ce sujet sur le hub). Si vous rendez l'appareil autonome, vous devez transférer des données plusieurs fois par jour, mais je voulais voir les données presque en temps réel.
L'application peut être utilisée non seulement avec mon appareil, mais simplement en tant que client de Thingspeak.com pour afficher des graphiques ou des valeurs. Pour le moment, l'application affiche magnifiquement les lectures des compteurs d'eau et d'électricité, si quelqu'un a d'autres idées que vous pouvez ajouter, écrivez-moi en PM.


Liens utiles



Photos de l'appareil

Source: https://habr.com/ru/post/fr428844/


All Articles