Bonjour,
Ayant fait l’acquisition d’une clim réversible Toshiba il y a qlq semaines, j’ai rapidement vu la mauvaise régulation des splits, avec 2 voire 3 degrés degrés d’écart entre la demande et le réel.
Pour essayer de corriger cela, j’ai d’abord acheté un capteur de température + télécommande IR Smart Life, mais cela ne répondait pas à mon problème (beaucoup trop limité).
Puis je me suis tourné vers Jeedom. J’ai mis cela sur une Raspberry, la connexion SSH/SSL, et tout le reste ! Je ne pensais pas y arriver, mais ca fonctionne !! Je dois dire que je suis assez impressionné par le système et ses capacités.
En plus de cela, j’ai de la chance : j’ai une chaudière Saunier Duval avec thermostat connecté Migo qui dispose d’un plugin Jeedom et pareil pour la clim réversible Toshiba.
Du coup, le thermostat de la chaudière me sert de sonde d’ambiance (résolution de 0,1°C), et je pilote le split (pour l’instant salon seulement). J’ai regardé un peu la solution de [nico73], mais ca ne fonctionnait pas chez moi, la sonde du split est trop « aléatoire »…
Du coup, sur la même idée, j’ai fait un scénario qui tourne toutes les 10min, et qui fait office de régulateur PID. Je vous mets la séquence ici.
Le scénario tourne toutes les 10min, car ma sonde Migo est mise à jour toutes les 10min seulement. Donc on ne peut pas faire mieux…
Voici les étapes :
- Attendre qlq secondes (car la mise à jour de la sonde intervient après qlq secondes passé les 10min (d’après les logs), donc histoire de coller au plus près à la mesure), sauf si il y a un saut de consigne,
- Enregistrement de la consigne actuelle, pour savoir si il y a un saut au prochain cycle,
- Calculer l’erreur,
- Calculer la commande proportionnelle (gain en vert)
- Calculer la commande intégrale (gain en rouge)
- Arrondir l’intégral à qlq décimales (j’ai lu sur d’autres post que les décimales pouvaient générer des erreurs, mais il ne me semble pas que ce soit le cas ici…)
- Saturation de l’intégrale en + et - (en orange), sinon on aura des dépassements très importants, le temps que l’intégrale « se vide »…
- Calcul de la commande dérivée (gain en bleu)
- Enregistrement de l’erreur sur le cycle en cours (pour le calcul de la dérivé du cycle suivant)
- Calcul de la correction totale
- Saturation de la correction totale (pas forcement nécessaire)
- Calcul de la commande de clim, qui vaut : consigne de température + correction, avec arrondi à l’entier pour pouvoir envoyer un ordre acceptable par la clim (tous les 1°C pour moi, peut être que d’autres marques font mieux).
- Saturation des consignes pour la clim
- Enfin, ma clim gère les températures faibles via le mode « hors-gel », donc je fais cela si on est en dessous de 16.5°C.
Certaines formules commencent par « 1*… » car j’ai l’impression que si je ne le mettais pas, c’était parfois interprété en chaine de caractère (vu dans le suivi des variables).
Et du coup, ca fonctionne plutôt bien chez moi, je vous mets quelques vues.
Voila, j’ai trouvé un jeu de paramètre (Ki, Kp, Kd) qui fonctionne plutôt bien, même si il y a qlq dépassements. On peut faire mieux en saturant encore plus bas l’intégrale, mais du coup, le système sera moins performant si l’erreur « naturelle » de la clim est élevée (il est sensé accepter ~3°C d’écart avec ces paramètres).
Donc je trouve cela satisfaisant, pour un système piloté par pas de 1°C toutes les 10min…
Je laisse donc les curieux essayer, et me faire un retour si vous trouver un jeu de paramètre qui fonctionne mieux, ou toute autre amélioration.
J’ai 2 autres splits à réguler : un bureau et l’espace chambres (couloir). J’attends 2 sondes DS18B20 (commandées) que je vais mettre sur la Raspberry pour faire le pilotage. J’espère que ca fonctionnera bien aussi.