Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Réactivité
#1
Bonjour,

Comment ce traduit le pourcentage de réactivité?

apres plusieurs test j'ai l'impression que si on baisse la réactivitée le temps de montée pourcentage d'ouverture triac est tres lent comme la descente. a contrario si le temps de réactivité est assez élévé la montée est assez rapide mais la descente aussi.
est il possible de dissocier les 2? vitesse de montée et vitesse de descente

Maël
Répondre
#2
Non la même réactivité s'applique à tout moment.

Cdlt
Répondre
#3
Bonjour,
Pour ceux qui sont sur la lecture TIC avec un CACSI, le temps de montée du triac est en effet plus lent que le temps de descente.
C'est lié au fait que la consommation minimale prise en compte sera toujours à 0W (le max n'a pas de limite).
L'asservissement (ie, la rapidité de convergence) est calculé d'après l'écart (Pw-Puissance)
Puissance étant à minimum 0W d'après la TIC (même si c'est -2000W), on voit bien qu'avec Pw=50, on va avoir un écart de (50-0)=50 lors de la montée du triac; et impossible d'avoir plus que ça.
Alors que pour la descente on peut avoir (2000-50)=1950, cela va donc aller vite pour fermer le triac.

Un moyen d'accélérer la montée du triac, c'est de détecter qu'on reste collé à 0W (pendant un certain temps), et de booster la réactivité tant que Puissance reste à 0W.

// détection où on reste collé à 0W
if (Puissance == 0) cptCacsiPuissanceNulle++;
else cptCacsiPuissanceNulle = 0;

// boost réactivité *10 après un certain temps (20s ici)
GainBoucle = float(LesActions[i].Reactivite); //Valeur stockée dans Port
if (cptCacsiPuissanceNulle > 100) GainBoucle *= 10;

Ludovic
Répondre
#4
(11-07-2024, 02:15 PM)Ludovic35 a écrit : Bonjour,
Pour ceux qui sont sur la lecture TIC avec un CACSI, le temps de montée du triac est en effet plus lent que le temps de descente.
C'est lié au fait que la consommation minimale prise en compte sera toujours à 0W (le max n'a pas de limite).
L'asservissement (ie, la rapidité de convergence) est calculé d'après l'écart (Pw-Puissance)
Puissance étant à minimum 0W d'après la TIC (même si c'est -2000W), on voit bien qu'avec Pw=50, on va avoir un écart de (50-0)=50 lors de la montée du triac; et impossible d'avoir plus que ça.
Alors que pour la descente on peut avoir (2000-50)=1950, cela va donc aller vite pour fermer le triac.

Un moyen d'accélérer la montée du triac, c'est de détecter qu'on reste collé à 0W (pendant un certain temps), et de booster la réactivité tant que Puissance reste à 0W.

// détection où on reste collé à 0W
  if (Puissance == 0) cptCacsiPuissanceNulle++;
  else cptCacsiPuissanceNulle = 0;

// boost réactivité *10 après un certain temps (20s ici)
        GainBoucle = float(LesActions[i].Reactivite);                            //Valeur stockée dans Port
if (cptCacsiPuissanceNulle > 100) GainBoucle *= 10;

Ludovic

Bonsoir,
Oui c'est mon cas lecture TIC avec CACSI. Comparé a un autre routeur posé chez mes parents avec un shelly, le leur réagit beaucoup plus vite.
Du coup il faut modifier les lignes de commande a quel endroit?

Merci pour la modif, top
Répondre
#5
Il faut ajouter 3 lignes dans la fonction GestionOverproduction() du fichier principal.
Je rajoute une ligne d'origine pour se repérer dans le code.
Pour augmenter ou réduire le temps de détection à 0W, modifiez la valeur 100 qui correspond à 20s

unsigned int cptCacsiPuissanceNulle = 0; // à ajouter
void GestionOverproduction() {
...

float Puissance = float(PuissanceS_M - PuissanceI_M);
if (Puissance == 0) cptCacsiPuissanceNulle++; else cptCacsiPuissanceNulle = 0; // à ajouter
...

GainBoucle = float(LesActions[i].Reactivite); //Valeur stockée dans Port
if (cptCacsiPuissanceNulle > 100) GainBoucle *= 10; // à ajouter

Avec ce code, j'observe +1% d'ouverture du triac chaque 2s (sur réception TIC, réactivité à 11 avec 1400W) pendant 20s. Après 20s, j'observe +10% chaque 2s jusqu'à ce que Puissance devienne != 0.

Ludovic
Répondre
#6
(12-07-2024, 01:44 PM)Ludovic35 a écrit : Il faut ajouter 3 lignes dans la fonction GestionOverproduction() du fichier principal.
Je rajoute une ligne d'origine pour se repérer dans le code.
Pour augmenter ou réduire le temps de détection à 0W, modifiez la valeur 100 qui correspond à 20s

unsigned int cptCacsiPuissanceNulle = 0; // à ajouter
void GestionOverproduction() {
...

  float Puissance = float(PuissanceS_M - PuissanceI_M);
  if (Puissance == 0) cptCacsiPuissanceNulle++; else cptCacsiPuissanceNulle = 0; // à ajouter
...

                GainBoucle = float(LesActions[i].Reactivite);                            //Valeur stockée dans Port
if (cptCacsiPuissanceNulle > 100) GainBoucle *= 10; // à ajouter

Avec ce code, j'observe +1% d'ouverture du triac chaque 2s (sur réception TIC, réactivité à 11 avec 1400W) pendant 20s. Après 20s, j'observe +10% chaque 2s jusqu'à ce que Puissance devienne != 0.

Ludovic

Top merci, testé sur mon routeur.

Maël

(12-07-2024, 04:26 PM)Mael a écrit :
(12-07-2024, 01:44 PM)Ludovic35 a écrit : Il faut ajouter 3 lignes dans la fonction GestionOverproduction() du fichier principal.
Je rajoute une ligne d'origine pour se repérer dans le code.
Pour augmenter ou réduire le temps de détection à 0W, modifiez la valeur 100 qui correspond à 20s

unsigned int cptCacsiPuissanceNulle = 0; // à ajouter
void GestionOverproduction() {
...

  float Puissance = float(PuissanceS_M - PuissanceI_M);
  if (Puissance == 0) cptCacsiPuissanceNulle++; else cptCacsiPuissanceNulle = 0; // à ajouter
...

                GainBoucle = float(LesActions[i].Reactivite);                            //Valeur stockée dans Port
if (cptCacsiPuissanceNulle > 100) GainBoucle *= 10; // à ajouter

Avec ce code, j'observe +1% d'ouverture du triac chaque 2s (sur réception TIC, réactivité à 11 avec 1400W) pendant 20s. Après 20s, j'observe +10% chaque 2s jusqu'à ce que Puissance devienne != 0.

Ludovic

Top merci, testé sur mon routeur.

Maël

Vu le nombre de nuages par jours en bretagne, c'est plus ajusté
Répondre


Atteindre :


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