Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Estimation d'injection avec TIC + CACSI
#1
Bonjour,

Pour ceux qui utilisent la TIC pour la lecture, et qui ont un CACSI, la régulation en cas d'injection est plutôt lente, voir très lente si on baisse le seuil de régulation à une faible valeur (Pw=50W dans mon cas).
En cas d'injection, on ne voit donc que Consommation = 0.
Serait-il possible d'intégrer un bout de code qui permet d'estimer la puissance injectée?
Cela ne permettra pas de réduire le seuil de régulation (50W semble être un minimum), mais ça accélère fortement la régulation en cas d'injection.

L'algo que j'utilise est basé sur les informations Irms et Urms de la TIC. Irms étant en entier, l'erreur est de +- 0.5A (soit 115W).
L'algo ne s'active que si la consommation est à 0W (PuissanceS_M); il est donc transitoire car on régule sur 50W.

Détail du calcul ci-dessous (les valeurs sont collectées avant le calcul, "cacsi=true" sur la condition  (!EAITvalid && Tm > 8000)).
Les valeurs de puissance apparente SINSTS ne sont utilisées que pour tester si c'est ==0VA, le calcul est fait avec les valeur Urms et Irms.
Si SINSTS==0, alors une valeur de courant non nulle signifie de l'injection, sinon c'est de la consommation.

pPuissance = 0; // initialisation valeur puissance injectée
if (cacsi && PuissanceS_M == 0) { // estimation de la puissance d'injection seulement si PuissanceS_M==0 et si on est en CACSI
  pPuissance = 150 + (pSINSTS1 == 0?-1:1) * pURMS1 * pIRMS1; // marge de 150W
  if (pIRMS3 != -1) { // triphasé
    pPuissance += (pSINSTS2 == 0?-1:1) * pURMS2 * pIRMS2;
    pPuissance += (pSINSTS3 == 0?-1:1) * pURMS3 * pIRMS3;
  }
}
if (pPuissance >= 0) { // pas d'estimation si l'écart est faible en prenant la marge de 150W
  PuissanceI_M = 0;
} else {
  PuissanceI_M = -pPuissance; // "-" car on donne la valeur injectée
}

Cela fonctionne bien malgré l'imprécision relative aux mesures d'intensités (la marge de 150W réduit le risque de surestimation de l'injection).

Code "Source_Linky.ino" (v14):
https://drive.google.com/file/d/1xBa_XZP...5VJsiRg67K

Exemple du valeurs retournées (routage sur un radiateur de 1500W qui ne consomme pas tout):
  https://drive.google.com/file/d/1SOb3sI2...sp=sharing
On voit qu'en injection, les valeurs sont en "escalier" (car le courant est en valeurs entières).
Cela ne change pas la courbe bleue (puissance apparente)

Cordialement,
Répondre
#2
Bonjour Ludovic35, je suis novice dans la partie . J'ai suivi les tutos de André , j'ai installé un ESP32 avec mesure depuis Linky mais dans la page accueil je n'ai pas la valeur injectée . Dans votre message vous noter qu'on peut faire un programme mais comment mettre ce programme dans le ESP32 ?
Faut il installer Arduino ?
Répondre
#3
Si vous pouvez compiler le code dans Arduino (version 14.x), il faut remplacer le fichier Source_Linky.ino par celui-ci:
https://drive.google.com/file/d/1xBa_XZP...5VJsiRg67K
Le mode CACSI est automatiquement détecté (voir dans les messages); le code est donc fonctionnel avec ou sans CACSI.

Sinon, j'ai mis mes versions compilées ici (le fichier .bin à charger via OTA est sous /build/esp32.esp32.esp32):
en 13.03 (testée) https://drive.google.com/file/d/12SYx76l...LilwA_kluD
en 14.03 (testée) https://drive.google.com/file/d/1cCOqy8R...7k51lv-pWh
Ces versions ont en plus un support pour une sonde DHT11 branchée sur le gpio 15; il ne faut donc l'utiliser (il y aura 4 messages indiquant l'absence de détection du DHT11). A part ce point, c'est compatible avec la version officielle.
Répondre
#4
J'ai installé cette version modifiée, elle semble fonctionner correctement.
L'affichage de la puissance injectée se fait effectivement par multiple de la tension, soit en escalier avec des marches de 230W 
En injection les VA restent à 0

Edit : en effet, ca accélère grandement la réactivité du routeur
Répondre
#5
Merci pour le retour. C'est bien le comportement attendu.
Répondre
#6
Je voudrais ajouter que l'affichage de cette valeur d'injection est importante car elle permet de pouvoir contrôler le bon fonctionnement ou paramétrage du routeur.
En effet, afficher un taux de routage est une information utile mais insuffisante car elle n'est que théorique puisque ce ne sont pas des W. Je veux dire que thermostat BEC ouvert, l'injection sera de 100% de rien !
La courbe d'injection est utile afin de déterminer finalement ce qui n'est pas routé et donc notre perte en énergie. Sans cette info on ne peut pas optimiser le routage. Son imprécision de quelques W n'a que peu d'importance car ce que je recherche avant tout c'est de prendre conscience que même si mon afficheur route à 100%, en fait il ne route rien ou que la charge commutée n'est pas suffisante.

Intégrer dans F1ATB cette modification est donc fondamentale pour ceux qui utilisent le Linky comme source de mesure. J'ajoute que cette méthode de mesure Linky est à mon sens la plus "fiable" car elle ne laisse pas de place à l'imprécision d'un autre type de capteur et à ses divergences, c'est la raison pour laquelle j'ai choisi cette méthode plus qu'une autre.
Le but du jeu étant d'exploiter au plus juste notre production, autant se baser sur les infos indiscutables du compteur.

Peut-être que je me trompe dans mon raisonnement mais l'info d'une possible "perte" revient finalement à installer un robot qui ferait un travail sans control. Hier j'ai router l'équivalent de 4h dans mon BEC dont le contact était ouvert!!!
Bien entendu, loin de moi l'idée de critiquer le travail conséquent fait sur ce routeur et ses évolutions qui en font un produit très utile pour l'autoconsommation.
Répondre
#7
On dit par abus de langage qu'on "route de l'énergie", en fait, le routeur régule une tension appliquée aux bornes d'une charge inconnue afin d'avoir une consommation du foyer qui est égale à la consigne Pw fixée.
Si la charge ne prend pas d'énergie (cas du CE plein dont le thermostat se coupe), le routeur va afficher 100% de routage (soit la tension maximale) alors qu'il ne route rien.
Le temps équivalent n'est donc pas exactement un temps de routage, mais un temps de présence équivalente d'une tension maximale (ie 230V).

Plusieurs personnes ont un surplus qui reste toujours inférieur à la puissance du CE; le 100% n'est donc jamais atteint. Sauf quand le CE est plein.
Cette caractéristique peut être utilisée pour détecter que le CE est plein, et éventuellement enclencher le routage vers une autre source; il faut dans ce cas ajouter une condition sur le taux d'ouverture du SSR du premier CE.

Parfois, il est même nécessaire de créer une action virtuelle (sur un GPIO qui n'est branché à rien), afin de créer une nouvelle information intermédiaire. Cette nouvelle action peut servir de condition à une troisième action. Cela devient complexe, mais ça fonctionne.

Concernant la lecture de la TIC, son avantage est clairement d'avoir un résultat indiscutable. On peut lui reprocher d'être un peu lent, mais par rapport au Shelly, je dirais que cela revient au même car avec le Shelly il faut beaucoup baisser la réactivité afin de lisser la mesure. De plus, c'est la solution qui ne coûte quasiment rien (optocoupleur + fil vers TIC).
Son principal inconvénient, c'est pour les personnes qui ont un CACSI; mais comme on l'a vu, il existe un moyen d'estimer le niveau d'injection afin que la réactivité soit aussi bonne en montée du % qu'en descente. Reste que le seuil Pw devra être > 30W pour que cela soit stable à l'équilibre.
Répondre
#8
(Il y a 7 heures)Ludovic35 a écrit : ...
Plusieurs personnes ont un surplus qui reste toujours inférieur à la puissance du CE; le 100% n'est donc jamais atteint. Sauf quand le CE est plein.
Cette caractéristique peut être utilisée pour détecter que le CE est plein, et éventuellement enclencher le routage vers une autre source; il faut dans ce cas ajouter une condition sur le taux d'ouverture du SSR du premier CE.

Parfois, il est même nécessaire de créer une action virtuelle (sur un GPIO qui n'est branché à rien), afin de créer une nouvelle information intermédiaire. Cette nouvelle action peut servir de condition à une troisième action. Cela devient complexe, mais ça fonctionne.
...
Dans mon cas, j'ai deux ballons et donc 2 SSR qui donne le même taux de puissance aux deux ballons.
J'ai cherché comment inclure une condition : lorsque le 1 est  à 100%, router sur le 2 mais je n'ai pas trouvé comment le faire. En fait je n'ai comme condition que le jour tempo et rien d'autre
L'idée étant de pouvoir apprécier l'efficacité du routage et de me donner une idée sur l'efficacité de mon installation de routage dans les périodes ou il n'y a que deux personnes dans la maison avec 600L d'eau chaude.

Par contre, je me posais la question suivante, si l'on pouvait mettre dans les paramètres la puissance max de l'équipement dédié au routage, on pourrait avoir l'affichage en plus du taux de routage, la puissance en W et un cumul en Wh à la place du nombre d'heures de routage.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)