Je trouve les solutions ZWAVE un peu chères pour un energy meter (ZW095 ou qubino) et je me suis donc lancé dans un DIY:
base wemos D1 mini avec pince non invasive 100A.
Ce DIY a été installé derrière mon compteur et marche en wifi. j'ai ajouté au wemos un convertisseur 16 bits car celui du wemos est en 10 bits, ce qui donnait une resolution trop faible de 50W pour la gamme de mesure (0-60A) dans mon cas (resolution d'au moins 1w avec le 16 bits...). De plus, le convertisseur 16 bits (ADS1115) accepte des tensions negatives, donc pas besoin de pont diviseur en entrée. J'ai ajouté une mini alim 220V/5V et un régulateur : Le tout tient largement dans le boitier d'une vieille jeedom mini que j'ai recyclé pour le fun
Coût:
- Wemos D1 mini+connecteur+board de montage : 5 Euros
- Convertisseur 16 bits ADS1115 : 3,50 Euros
- régulateur 3.3 V ASM1117 : 1 Euros
- Capteur courant 100A SCT-013 : 5 Euros
- Alim 5v : 2,50 Euros
- résistance 75 Ohms: quelques centimes
Soit 17 Euros
J'ai flashé le module par usb (IDE arduino) avec un sketch Jeedouino auquel j'ai integré un sketch piqué de emonlib: https://bitbucket.org/xoseperez/emonliteesp.git, adapté pour le convertisseur ADS1115.
J'ai ajouté un virtuel car le plugin jeedouino ne met pas d'unité (watt ici)
Pour la resistance burden, elle va avec le SCT-013 100A . ce transfo à un ratio de 2000: Current_out= Current_in/2000.
Donc la tension max en entrée de l'ADS1115 sera R*Current_in/2000*Racine(2). Dans mon cas, J'ai pris 75 Ohms pour aller jusqu'à 60A (mon besoin). A calculer selon votre besoin. Si votre gamme va jusqu'à 30 A max ou moins, je vous conseille de prendre un transfo SCT adapté en conséquence (la précision sera meilleure). Attention, pour les autres transfos, la résistance est souvent déjà inclue.
Attention aussi a ne pas dépasser 3.6V sur l'ADS1115 (VDD+0,3), sinon vous pouvez en recommander un
La suite:
- Chargez l'IDE Arduino sur le PC, en chargeant également la conf carte Wemos mini D1 et le bon port: voir tuto sur le net
- Installez le plugin Jeedouino en cochant l'activation de sketch utilisateur dans la config
- Créez votre equipement en renseignant les paramètres wifi et l'IP de la carte (à choper sur votre box internet plus tard)
- Créez un PIN utilisateur "entrée numérique " de type générique puissance électrique par exemple (ex pin 500 dans mon cas)
- Dans l'onglet "sketch" vous pouvez télécharger le sketch Jeedouino, à utiliser (jeedouino .ino) dans votre IDE Arduino, et les librairies à ajouter sous C:/Program Files (x86)/Arduino/librairies
- Ajoutez également les librairies ADS 1115 et Emonlib/xoseperez: attention, sur le net il y avait un bug dans EmonLiteESP.cpp de la lib Emonlib/xoseperez: prendre plutôt la mienne ci-dessus (init de sum à 0), sinon il y a des transitoires en erreur parfois.
- Modifiez le sketch jeedouino.ino. Il faut inclure les parties en jaune du pdf ci-dessous dans votre sketch jeedouino téléchargé plus haut (ce qui n'est pas en jaune correspond à mon fichier jeedouino: ne pas le recopier).
3 modifs à faire:
//UserVars
//UserSetup
//UserLoop -Téléversez le sketch complet dans le Wemos connecté au bon port USB (celui renseigné dans l'IDE Arduino)
- Testez le Wemos toujours connecté en USB (monitoring board sur Arduino ide) , avec la pince autour d'une phase (attention à ne mettre que la phase, pas le neutre avec (sinon 0W !). j'ai bricolé une prise avec une lampe en séparant les 2 fils… si problème, vous pouvez mettre des variables en débug…
- Si OK: inclure le wemos en wifi à jeedom (renseigner l'IP du wemos dans jeedouino).
A noter que dans le sketch, vous pouvez modifier:
- ADS1115_ADDRESS 0x48 (pin ADDR sur GND): correspond au schéma plus haut (si vous changez le cablage de ADDR, il faut changer ce paramètre)
ADS1115_PORT = ADS1115_MUX_P0_N1 (différentiel entre A0 et A1): si vous utilisez le différentiel comme sur le schéma (A0 A1)
current ratio = 2000/Rburden: 26,67 (ADS1115): A calculer suivant votre besoin et suivant la résistance de burden que vous avez choisie
reference voltage: Vmax-Vmin : 8.192 (ADS1115): +/-4,096V, suffit pour VDD 3.3 V