Go Down

Topic: Chauffage centrale et inertie (Read 6 times) previous topic - next topic

zoroastre

#10
Jan 04, 2011, 08:09 pm Last Edit: Jan 04, 2011, 08:37 pm by zoroastre Reason: 1
Je pense avoir trouver une solution au problème.

Tout d'abord, j'effectue une moyenne sur un échantillon de mesure, que je compare à l'ancienne moyenne. Si elle est plus grande, soit le chauffage est en fonctionnement, soit il y a distribution calorifique de mes radiateurs. Si elle est plus petite que la mesure précedente, je suis en perdition.

En gros :

moy = (somme de i temperature)/i ;  # Avec i max = 5 par exemple

if (moy >= moy_precedente)
           {
           inertie = 1    #MONTANTE
           }
else
           {
           inertie = 0    #DESCENDANTE
           }

"i" étant le nombre d'echantillon.

La difficulté est d'integrer cette variante "inertie" à la régulation de mon chauffage.
Une solution peut-être :

If (inertie=0)
# Acquisition des nouvelles consignes de temperatures
if (inertie=1)
# Sauvegarde des consignes de temperatures

Ainsi, le temps de l'inertie, les consignes hautes et basses de ma régulation demeure statiques.

@+

Zoroastre.
Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message ;)

fdufnews

#11
Jan 05, 2011, 11:03 am Last Edit: Jan 05, 2011, 11:06 am by fdufnews Reason: 1
Quote
le but de ma quête actuelle est d'obtenir la meilleur inertie pour une régulation optimum et économique


Je pense qu'il y a une petite incompréhension sur les termes utilisés l'inertie tu la subis (sauf si tu es en train de construire la maison).
Dans un système de chauffage tu vas avoir 2 inerties avec des constantes de temps différentes.
1) l'inertie du circuit de chauffage. J'arrête de chauffer et la température continue de monter. Ou inversement je commence à chauffer et la température continue de descendre.
2) l'inertie thermique du bâtiment. La température est stabilisée pendant combien de temps le bâtiment va-t-il garder cette température.

C'est 2 paramètres sont des constantes qui ne dépendent que des caractéristiques de ton installation de chauffage pour le premier et des caractéristiques de ton bâtiment pour le second. Tu devrais pouvoir les déterminer de manière empirique et les intégrer dans ta boucle de régulation. Sachant que c'est l'inertie thermique du bâtiment qui est la plus importante. Pour donner un ordre d'idée, l'inertie thermique du circuit de chauffage et de l'ordre de la minute (1 à 5 minutes suivant la taille de l'installation). L'inertie thermique du bâtiment peut varier de la dizaines de minutes à une heure (voir plus) suivant la qualité de l'isolation de la maison.

La connaissance de ces 2 constantes te permet d'anticiper l'allumage ou l'extinction de la chaudière et d'éviter les écarts de température, par rapport à la consigne, que tu redoutes

zoroastre

#12
Jan 05, 2011, 11:25 am Last Edit: Jan 05, 2011, 11:49 am by zoroastre Reason: 1
Merci pour ta réponse fdufnews,

Ce que je cherche à determiner et à optimiser ce sont effectivement ces 2 inerties et elles ne peuvent être valables uniquement si je prend en compte la température exterieure et un facteur de correction, il est vrai empirique, que j'incluerai dans mon algoritme suivant mes mesures.

D'où l'interêt de connaitre le front montant ou descendant de l'inertie de mon installation, si l'inertie est en distribution, il n'en demeure pas moins que la temperature exterieure peut être en baisse ou en augmentation. Il en va de même pour la perdition.

Cependant, ce que je cherche avant tout à régler, est le passage d'une plage horaire économique, avec des consignes basses, à une plage dîte normale, avec des consignes supérieures.
En effet, si l'horaire de basculement ne prend pas en compte cette inertie, mon installation continuera de chauffer mes radiateurs inutilement dans le cas où les consignes, elles mêmes, aient basculées peu de temps précedent l'horaire fixé.
L'autre difficulté, est que j'aimerais inclure en plus des modes normale et économique, un mode abscence (pour des abscences supérieures à 2 ou 3 heures je pense) et un mode vacances.
Il m'est donc difficile d'y inclure une temporisation avant redemarrage du système de chauffage, trop aléatoire à mon goût.

C'est la raison pour laquelle j'ai pensé à essayer de retranscrire l'inertie du chauffage...

En esperant avoir été clair,

@+

Zoroastre.

PS : Je suis en travaux effectivement ;)
Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message ;)

zoroastre

#13
Jan 05, 2011, 11:38 am Last Edit: Jan 05, 2011, 12:21 pm by zoroastre Reason: 1
Prenons un cas concret :

Imaginons qu'il est 5h59, soit 1 minute avant le basculement en horaire normal.

Consigne_eco = 17
Consigne_norm = 18

// 5h59 MODE ECO & temperature = 16,9°

If (temperature < Consigne_eco) :
# chauffage = ON

// 6h01 PASSAGE EN MODE NORMAL

if (temperature < Consigne_norm) :
# chauffage = ON

Mon chauffage tournera jusqu'à la consigne normale max, soit par exemple 18,3 °C (consigne_norm + 0.2 + correction). Donc en pratique de 16,9° à 18,3° !!!

Donc l'idée en effet est de sauvegarder les consignes lorsque le chauffage s'enclenche, mais la question demeure, à savoir à quel moment je réintègre les nouvelles consignes : Réponse, lorsque l'inertie est en perdition NON ???

@+

Zoroastre.
Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message ;)

zoroastre

#14
Jan 08, 2011, 07:32 am Last Edit: Jan 08, 2011, 08:34 am by zoroastre Reason: 1
Pour illustrer un peu mieux mon propos et connaitre votre avis :

if (state = 1)                           // Chauffage ON
     {
     consigne_mini = old_consigne;    // On travaille avec la consigne sauvegardée
     }
if (state = 0) && (inertie = 0)   // Chauffage OFF && Perdition
     {
     if (consigne != old_consigne)
           {
           old_consigne = consigne;
           }
     consigne_mini = consigne;  // On réintègre la nouvelle consigne.
     }

Ainsi, lorsque mon chauffage est en marche, je travaille avec la consigne précedente.
Ainsi pour réintégrer la nouvelle consigne, il faut que mon chauffage soit à l'arret et que l'inertie soit stable ou en perdition. Ainsi, je profite au mieux de l'inertie.

Par contre, l'efficacité du calcul de ma moyenne est sujette à caution :

     // calcule moyenne sur indoor0 toutes les 5 intervalles.
     if (i = 5)
           {
           calcul_moyenne = (addition/i)
           if (calcul_moyenne > old_moyenne)
                 {
                 inertie = true;
                 }
           else if (calcul_moyenne =< old_moyenne)
                 {
                 inertie = false;
                 }
           old_moyenne = calcul_moyenne;
           i = 1
           }
     else
           {
           addition = (addition + indoor0)
           i++;
           }

Je préfererais avoir un tableau dynamique, dans lequel je comparerais l'ensemble des valeurs (genre les 5 dernières moyennes) pour connaitre la tendance !!!

Une idée ???

@+

Zoroastre
Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message ;)

Go Up