diff --git a/Mesures/energy/transfo_courant_clip_1p/0_cron.lua b/Mesures/energy/transfo_courant_clip_1p/0_cron.lua
index 8252c99..63627c6 100644
--- a/Mesures/energy/transfo_courant_clip_1p/0_cron.lua
+++ b/Mesures/energy/transfo_courant_clip_1p/0_cron.lua
@@ -1,5 +1,5 @@
-- Petit script pour faire office de crontab pour les mesures
-print("\n 0_cron.lua zf200527.1827 \n")
+print("\n 0_cron.lua zf200603.1950 \n")
cron1=tmr.create()
cron1:alarm(10*1000, tmr.ALARM_AUTO, function()
@@ -8,15 +8,14 @@ cron1:alarm(10*1000, tmr.ALARM_AUTO, function()
http_post(influxdb_url,"energy,memory=cron1_"..yellow_id.." ram="..node.heap())
- f = "0_1_htu21d.lua" if file.exists(f) then dofile(f) end
- http_post(influxdb_url,"energy,capteur=th1 temperature="..ztemp1)
- http_post(influxdb_url,"energy,capteur=th1 humidity="..zhum1)
+ -- f = "0_1_htu21d.lua" if file.exists(f) then dofile(f) end
+ -- http_post(influxdb_url,"energy,capteur=th1 temperature="..ztemp1)
+ -- http_post(influxdb_url,"energy,capteur=th1 humidity="..zhum1)
+ --
+ -- ztemp1=nil zhum1=nil ztemp2=nil zhum2=nil
+
- f = "0_2_htu21d.lua" if file.exists(f) then dofile(f) end
- http_post(influxdb_url,"energy,capteur=th2 temperature="..ztemp2)
- http_post(influxdb_url,"energy,capteur=th2 humidity="..zhum2)
- ztemp1=nil zhum1=nil ztemp2=nil zhum2=nil
-- f = "0_zdyndns.lua" if file.exists(f) then dofile(f) end
diff --git a/Mesures/energy/transfo_courant_clip_1p/0_get_power.lua b/Mesures/energy/transfo_courant_clip_1p/0_get_power.lua
index 9c81dd7..5fe8936 100644
--- a/Mesures/energy/transfo_courant_clip_1p/0_get_power.lua
+++ b/Mesures/energy/transfo_courant_clip_1p/0_get_power.lua
@@ -1,6 +1,6 @@
-- Lit le convertisseur ADC connecté sur le transformateur de courant
-- pour mesurer le courant électrique de l'installation PV
-print("\n 0_get_data.lua zf191024.1037 \n")
+print("\n 0_get_power.lua zf200603.2013 \n")
-- Astuce de mesure:
-- On converti le courant en tension avec la résistance de charge du
@@ -17,10 +17,9 @@ print("\n 0_get_data.lua zf191024.1037 \n")
-- bien dans la plage de mesure avec le choix de la résistance de conversion
-- la conversion courant/tension/puissance est faite avec une simple régle de 3
-
-zpow_cal=401 --puissance mesurée de la charge étalon
-zadc_cal=189 --valeur de l'adc pour zpow_cal
-zadc_offset=548
+zpow_cal=692 --puissance mesurée de la charge étalon
+zadc_cal=59 --valeur de l'adc pour zpow_cal
+zadc_offset=172
zadc_sum=0 zadc_offset_sum=0 znb_mes=0
zadc_min=zadc_offset zadc_max=zadc_offset
diff --git a/Mesures/energy/transfo_courant_clip_1p/README.md b/Mesures/energy/transfo_courant_clip_1p/README.md
index 785796d..3874192 100644
--- a/Mesures/energy/transfo_courant_clip_1p/README.md
+++ b/Mesures/energy/transfo_courant_clip_1p/README.md
@@ -1,10 +1,16 @@
# Mesure d'énergie d'une installation monophasée
-zf200603.1508
+zf200603.1940
+
+**ATTENTION:
+Ce README est parti d'un autre projet similaire, donc pas tout juste pour ce projet**
+
## Table of Contents
* [Astuces de mesures de la puissance](#astuces-de-mesures-de-la-puissance)
+ * [Schéma](#schéma)
+ * [Astuces](#astuces)
* [Installation](#installation)
* [Utilisation](#utilisation)
* [Distribution des rôles de NodeMCU](#distribution-des-rôles-de-nodemcu)
@@ -55,7 +61,21 @@ Toutes les fonctions sont bien séparées dans des scripts, cela *complexifie* l
## Astuces de mesures de la puissance
-Dans ce projet il y a 1x NodeMCU qui mesure la production électrique de mon installation solaire PV. On mesure le courant injecté dans le réseau électrique de la maison avec un petit transformateur de courant 1/800 *clipsé* sur la phase de l'onduleur.
+Dans ce projet il y a 1x NodeMCU qui mesure la production électrique de mon installation solaire PV. On mesure le courant injecté dans le réseau électrique de la maison avec un petit transformateur de courant *clipsé* sur la phase du smart inverter.
+
+### Schéma
+
+
+
+Le petit transfo de courant a un rapport de 25mA à 20A, soit 0.025/20=0.00125 soit encore 1/800.
+
+Une masse virtuelle de 0.5V est constituée avec le pont des résistances R2/R1, cela permet de *remonter* la tension alternative de la mesure de courant.
+
+La résistance R3 est utilisée pour la conversion courant/tension du transfo de courant.
+Pour une charge maximale de 600W, la résistance R3 est de 100R, et pour 1'200W elle est de 56R.
+
+### Astuces
+
* Comme le convertisseur ADC du NodeMCU ne peut mesurer que des valeurs positives comprises entre 0V et 1V, on ajoute une masse *fictive* au signal du transformateur de courant de 0.5V afin de *remonter* l'alternance négative.
Au lieu de *découper* la sinusoïde (50Hz) en 100 *parties*, c'est à dire toutes les 0.2ms (5'000x /s), pour en faire l'intégrale. On lit l'ADC toutes les 11ms (seulement 91x /s) donc beaucoup plus lentement.
* Comme la sinusoïde fait 20ms et est *répétitive*, on balaye (par *décalage*) statistiquement la sinusoïde.
diff --git a/Mesures/energy/transfo_courant_clip_1p/boot.lua b/Mesures/energy/transfo_courant_clip_1p/boot.lua
index feb3f7c..939031a 100644
--- a/Mesures/energy/transfo_courant_clip_1p/boot.lua
+++ b/Mesures/energy/transfo_courant_clip_1p/boot.lua
@@ -1,6 +1,6 @@
-- Scripts à charger après le boot pour démarrer son projet
-print("\n boot.lua zf200530.1211 \n")
+print("\n boot.lua zf200603.1953 \n")
-- function ztime_stamp() return tmr.now()/1000000 end
@@ -20,7 +20,10 @@ function boot()
f="0_btn_flipflop.lua" if file.exists(f) then dofile(f) end
-- print(node.heap()) collectgarbage() print(node.heap())
- f="0_cron.lua" if file.exists(f) then dofile(f) end
+ f="0_get_power.lua" if file.exists(f) then dofile(f) end
+
+
+ -- f="0_cron.lua" if file.exists(f) then dofile(f) end
print("verbose:",verbose) print("boot lancé...")
gpio.write(zLED, gpio.HIGH)
diff --git a/Mesures/energy/transfo_courant_clip_1p/oldies/z_index.html b/Mesures/energy/transfo_courant_clip_1p/oldies/z_index.html
index 79c5352..724061f 100644
--- a/Mesures/energy/transfo_courant_clip_1p/oldies/z_index.html
+++ b/Mesures/energy/transfo_courant_clip_1p/oldies/z_index.html
@@ -1,23 +1,103 @@
+
+
+
-
| "..k.." | ") zout(""..v.." | ") + zout("