F1ATB forum
Fonction hystérésis sur commande 0N - Version imprimable

+- F1ATB forum (https://f1atb.fr/forum_f1atb)
+-- Forum : Forum de F1ATB (https://f1atb.fr/forum_f1atb/forum-3.html)
+--- Forum : Routeur Photovoltaïque (https://f1atb.fr/forum_f1atb/forum-4.html)
+---- Forum : Evolutions faites, à faire, dont vous rêvez... (https://f1atb.fr/forum_f1atb/forum-10.html)
+---- Sujet : Fonction hystérésis sur commande 0N (/thread-1684.html)



Fonction hystérésis sur commande 0N - BrunoM - 09-08-2025

Bonjour,
Sur mon routeur, j'utilise un gros dissipateur thermique sur lequel j'ai installé une sonde thermique. J'ai mis  également un ventilateur sur le coffret. j'actionne le ventilateur en fonction de la température de la sonde pour refroidir le coffret (ça marche très bien). Par contre je souhaitais utiliser la fonction Hystérésis (différence de quelques degrés entre le déclenchement et l'arrêt du ventilo) mais elle semble ne pas fonctionner le mode "ON" alors quelle fonctionne en mode "ROUTAGE". Est ce que vous confirmez? Si c'est le cas, serait il possible d'avoir cette fonction dans le mode ON ?  Merci encore pour votre support et vos conseils


RE: Fonction hystérésis sur commande 0N - 59jag - 10-08-2025

j ai regardé  oui l'hystérésis ne fonctionne pas en mode "ON" car elle ne peut que désactiver une action, jamais l'activer.
si tu veux corriger va dans action.cpp
recherche

if (Tinf[i] < 1500 && Tsup[i] < 1500 && Tinf[i] < Tsup[i]) {  // hystérésis
  if (Tempx10 > Tinf[i] && Tempx10 > Tsup[i]) Tseuil = Tinf[i];
  if (Tempx10 < Tinf[i] && Tempx10 < Tsup[i]) Tseuil = Tsup[i];
  if (Tempx10 > Tseuil) { ConditionsOk = false; }
}

modifi  a la fin par

if (Tinf[i] < 1500 && Tsup[i] < 1500 && Tinf[i] < Tsup[i]) {
  if (Tempx10 > Tinf[i] && Tempx10 > Tsup[i]) Tseuil = Tinf[i];
  if (Tempx10 < Tinf[i] && Tempx10 < Tsup[i]) Tseuil = Tsup[i];
  if (Tempx10 > Tseuil) { ConditionsOk = false; }
  if (Tempx10 < Tseuil) { ConditionsOk = true; }
}