ou comment relever sa consommation électrique zone par zone à l’aide d’un compteur EDF à roue, de quelques tores et d’un raspberry pi (Nouvelle option : ajout d’un arduino (ou équivalent) pour fiabiliser le comptage)
Quel radin (ou juste soucieux de dépenser moins) un peu geek n’a jamais voulu savoir ce qu’il dépense en électricité et pourquoi?
de lire chaque tour de la roue du compteur EDF pour en déduire puissance instantanée et énergie consommée.
de lire le courant dans quelques circuits à l’aide de tores
de lire l’état du relais jour-nuit
Mais aussi d’en déduire d’autre valeurs indirectes :
La consommation d’un circuit comme étant la somme ou la différence de plusieurs circuits
La consommation d’un appareil électrique dont je connais la puissance (ex : sur le même circuit un congélateur de 100W et un frigo de 150W. Avec une seule mesure, nous allons calculer deux consommations distinctes)
Et bien sûr prendre des décisions :
Délester un circuit (exemple le chauffe eau) quand on atteint la limite de consommation du compteur
Alerter quand le frigidaire consomme trop (la porte doit être ouverte)
…
Toutes les informations sont stockées dans une base mysql (ou mariaDB). Elle peut être sur le raspberry ou n’importe où ailleurs (dans mon cas sur un NAS Synology).
Et comme j’aime bien le python : tout est en Python! avec mes bibliothèques qui vont bien :
FGPIO pour gérer toutes le matériel avec les GPIO du RPI
FERG pour le code spécifique au projet de compteur connecté
Excellent projet! Je suis tout à fait d'accord avec l'une des conclusions : “Le seul problème majeur et que passées les quelques semaines durant lesquelles je regardais les graphes tous les jours, j’ai tendance à ne plus trop y regarder.” J'ai fait le monitoring de ma consommation électrique chez moi et j'avoue que je ne la regarde pas très souvent. Ce qui est intéressant, c'est de multiplier le Wh avec la consommation pour obtenir le coût journalier/hebdo ou mensuel.
Oo ! Voilà comment monitorer sa consommation électrique sur les vieux compteurs en comptant les tours. Merci pour le partage fred et bravo pour le détail.
Sympa je suis en train de faire la même chose chez moi avec l'astuce de Seb pour le compteur à roulette (sauf que j'ai du utiliser un IR TCRT5000 au lieu de son petit module IR sinon ça marchait pas, question de qualité du reflet sûrement), mon compteur est un 1.6Wh/tour du coup ça va très vite quand ça pompe bien.
Pour la détection de conso de chaque appareil relié à un même disjoncteur je fais pareil en me basant sur la puissance connu de chaque appareil et faire des “and” pour savoir lequel(s) toure(nt) à un instant T, attention à certains appareil dont la conso peut pendant un très court instant monter assez haut comme mon frigo qui pfait des pointes à 1000W après une coupure de courant.
Par contre pour les pinces ampèremétriques il faut faire attention à calibrer en fonction de la tension réelle du réseau sinon le chiffre sera faussé.
Bon courage pour ton compteur. Le mien fonctionne pas mal : même si les valeurs relevées par les tores ne sont pas parfaites, c'est largement suffisant pour ce que j'en ai besoin. Pour le compteur en lui même, je dois perdre un peu moins de 1% des tours.
As-tu une explication pour la perte de 1% des tours ? pour ma part c'est un arduino qui compte les tours (mais je pense le remplacer par un ATTiny85, pas besoin de plus gros pour ça) et pour éviter les pertes je l'utilise uniquement pour envoyer l'info “rapidement” à l'ESP8266 (mais ça pourrait aussi être un RasPi) et revenir au comptage de façon à ne pas manquer un tour, ensuite l'ESP prend le temps de balancer au serveur et au besoin bufferise ce qui vient de l'Arduino quand ça tourne vite si le serveur à l'autre bout est un poil lent ou indisponible, je pourrais aussi utiliser directement ESP pour la lecture via son port ADC mais ça demande des réglages car sa plage de conversion est de 0-1V seulement, pareil pour la lecture des pinces avec un MCP ou autre 74HCxxxx je pourrais très bien le faire 100% un l'ESP et transmettre en WiFi vers mon serveur du coup ça gagne pas mal de place par rapport à un RasPi dans le boitier EDF 😉
Je pense que mon raspi a du mal a suivre quand ça va très vite (surtout qu'il ne fait pas que ça). Pour résoudre, j'hésite entre mettre un petit atmega328 pour lire la roue et transmettre au raspi ou améliorer mon code python pour ne plus rater de tours.
Un RasPi n'étant pas un micro contrôleur il est toujours succeptible d'être bloqué à faire autre chose et du coup manquer des tours donc ATMega ou ATTiny pour être sûr de ne rien rater, puis un envoi vers le RasPi qui “bufferisera” (du verbe bufferiser bien connu du Petit Robert 😉 tranquillement et dépilera les tours qui auront été reçus avec un timestamp de préference voir même laisse le micro contrôleur stocker une minute de tours et ne lui faire envoyer un simple total des tours qu'une fois par minute ce qui est largement suffisant, pas besoin de granularité inférieure pour ça, si tu veux une lecture instantanée les tores sont là pour ça.
Tout d'abord merci beaucoup pour ce partage.
Je cherchais comment mesurer certaines conso depuis mon tableau et ton tuto colle parfaitement avec mon but.
J'ai donc entrepris de le mettre en oeuvre pour n'utiliser que la partie avec les TORS.
Mais ça bloque à l'installation PIP de FERG. (je suis sous raspbian comme toi)
J'obtiens une série d'erreurs qui commence par :
Downloading/unpacking FERG
Running setup.py egg_info for package FERG
Traceback (most recent call last):
File “”, line 14, in
File “/home/pi/install/distribute-0.7.3/build/FERG/setup.py”, line 39, in
shutil.copy('comptage.py', '/opt/FERG')
File “/usr/lib/python2.7/shutil.py”, line 119, in copy
copyfile(src, dst)
File “/usr/lib/python2.7/shutil.py”, line 82, in copyfile
with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: 'comptage.py'
Complete output from command python setup.py egg_info:
running egg_info
J'ai du rater qqchose … Une idée ?
Merci d'avance.
Merci pour ton conseil que j'ai appliqué. J'ai mis un ATMega pour lire le capteur optique et compter les tours. Il est relié au Rpi via i2c. Le Rpi va juste lire le nombre de tours quand il a le temps (toutes les secondes quand même). Je met à jour les sources (qui laisseront les deux choix de mesure, avec ou sans micro-controleur) et le tuto dés que j'ai un peu de temps.
Cool et en plus grâce à ça si tu doit stopper/rebooter ton Pi pour mise à jour ou autre tu ne perdras rien.
p.s : une granularité d'une seconde n'est pas forcément utile tu peux récupérer un cumul toutes les 10 secondes ou toutes les minutes c'est déjà pas mal de toute façon ce qu'il faut c'est connaître la différence de temps par rapport à la précédente récupération du nombre de tours.
pour ceux qui envisagent de développer un système analogue, je signale qu'il existe des capteurs 'prêts à l'emploi' pour lire les compteurs. Ils communiquent avec le 'cerveau' de l'installation via les protocoles Zwave qui sont largement utilisés.
Un module Zwave enfichable exite pour le rasperry pi.
Cela pourrait permettre de ne pas perdre d'impulsion et et mettre le système de calcul n'importe où.
Parmis les produits Zwave il y a des "prises" intelligente qui mesurent la consommation et qui sont télécommandables.
adresse pour les lecteurs de compteurs: http://products.z-wavealliance.org/products/1610
P.S. Pour éviter tout malentendu, cela fait partie de mes rêves mais je n'ai rien réalisé à cette heure!
Merci pour ce Tutoriel intéressant, j'aimerai me lancer dans la réalisation, mais auriez vous le schéma du petit circuit électronique, ainsi que les pages html+php, vous dite : voir images et code html+php dans energies.zip, je ne vois pas ou est ce energies.zip ? auriez vous un lien ?
Et merci pour le temps passé à partager ces connaissances :-)
Notre site Oui Are Makers utilise des cookies pour vous permettre de partager du contenu sur les réseaux sociaux, pour mesurer les audiences et établir des statistiques.
Conservation
Nous conservons votre choix pendant 6 mois.
Vous pouvez changer d’avis à tout moment en cliquant sur l’icône « Gérer les cookies » en bas à gauche de chaque page de notre site.
Detail cookies:
Cookies de mesures d’audience (Google Analytics).
Anonyme.
Cookies de partage (Open Graph).
Anonyme.
Cookies de panier (Stripe).
Anonyme.
Cookie commercial (Facebook)
Vous pouvez changer d’avis à tout moment en cliquant sur l’icône « Gérer les cookies » en bas à gauche de chaque page de notre site.
Excellent projet! Je suis tout à fait d'accord avec l'une des conclusions : “Le seul problème majeur et que passées les quelques semaines durant lesquelles je regardais les graphes tous les jours, j’ai tendance à ne plus trop y regarder.” J'ai fait le monitoring de ma consommation électrique chez moi et j'avoue que je ne la regarde pas très souvent. Ce qui est intéressant, c'est de multiplier le Wh avec la consommation pour obtenir le coût journalier/hebdo ou mensuel.