Bonjour, est il, ou serait il possible d'inverser les signes On a Off et Off à On dans les actions pour les relais ?
Je vous joint une photo pour expliquer.
Merci d'avance de vos réponses
Cordialement
04-03-2025, 12:13 PM (Modification du message : 04-03-2025, 12:16 PM par Ludovic35.)
Les signes actuels sont les bons et certaines personnes utilisent ces modes en l'état.
Si cela ne fait pas ce que vous voulez, quelle logique voudriez vous obtenir en plus?
Voir le code ci-dessous;
ConditionsOk = true;
if (Temperature > -100.0) {
if (Tinf[i] < 1500 && Tsup[i] < 1500 && Tinf[i] < Tsup[i]) { // on applique un hystérésis dont les valeurs sont Tinf et Tsup
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; }
} else {
if (Tinf[i] <= 1000 && Tempx10 > Tinf[i]) { ConditionsOk = false; }
if (Tsup[i] <= 1000 && Tempx10 < Tsup[i]) { ConditionsOk = false; }
}
}
if (Ltarfbin > 0 && (Ltarfbin & Tarif[i]) == 0) ConditionsOk = false;
if (SelAct[i] != 255) { //On conditionne à une autre action
if (Hmin[i] != 0 && (Hmin[i] > ExtHequiv || ExtValide == 0)) ConditionsOk = false;
if (Hmax[i] != 0 && (Hmax[i] < ExtHequiv || ExtValide == 0)) ConditionsOk = false;
if (Ooff[i] != 0 && ((int(Ooff[i]) >= ExtOuvert && Retard != 100) || ExtValide == 0)) ConditionsOk = false; //Inferieur au seuil bas
if (O_on[i] != 0 && ((int(O_on[i]) > ExtOuvert && Retard == 100) || ExtValide == 0)) ConditionsOk = false; //Inferieur au seuil haut et pas encore ouvert
}
if (ConditionsOk) S = Type[i];
Quand un test est valide, ConditionsOk = false, cela désactive donc le routage (cela inverse la logique...).
Ooff, On à Off
O_on, Off à On
Retard == 100, le triac est fermé (%triac = 100-retard)
Retard != 100, le triac est ouvert (même pour 1%)
ExtOuvert, le % d'ouverture de l'action en référence
Si aucun test n'est valide, S = Type[i], la sortie s'active avec le mode de l'action en cours (sinon, c'est OFF par défaut si ConditionsOk==False)
if (int(Ooff[i]) >= ExtOuvert && Retard != 100) ConditionsOk = false;
si le %_référence est inférieur au seuil "on_à_off" ET que le triac est >= 1%, le routage est arrêté
if (int(O_on[i] > ExtOuvert && Retard == 100) ConditionsOk = false;
si le %_référence est inférieur au seuil "off_à_on" ET que le triac est à 0%, le routage est arrêté
on inverse la logique (non (A et B) = non A ou non B) => le routage est actif si %_référence >= au seuil "off_à_on" OU si le triac >= 1% (ie, il a commencé à s'ouvrir, on ne le ferme pas)
Bonsoir, je voudrais passer de on à off pour un relais lorsque le triac est ouvert à 99%, c'est le moment où le ballon est complètement chaud et que le triac s'ouvre à 100% sans charge.
En fait je souhaiterais activer le relais ventilateur du triac simplement entre 2 et 99 % d'ouverture triac.
Je ne penses pas que cela soit possible actuellement.
Merci d'avance de votre réponse.
Cordialement
En effet, vous voulez bien une logique inversée afin de couper le ventilateur quand le CE est plein; dans votre cas, c'est détectable quand le % triac est >= 99% (votre surplus ne peut pas mettre le triac à 100% pendant la chauffe)
Vous pouvez inverser la logique sur la commande du ventilateur (actif à 0v plutôt que 3.3v); inconvénient: la diode clignote quand le ventilateur est éteint.
Autre solution plus pratique: ajouter une sonde de température sur le radiateur du triac.
Autre possibilité:
Il faut créer une action virtuelle "Ballon plein" (sur un gpio qui ne sert pas) qui va permettre de détecter que le ballon est chaud.
Cette ligne a une action ON (sur le créneau horaire que vous voulez) avec les conditions suivantes:
On à Off si % triac <= 20% (c'est juste pour éteindre la LED)
Off à On si % triac => 99%
Quand le triac passe à 99%, le temps équivalent commence à s'incrémenter; c'est cette valeur qu'on va utiliser.
Vous pouvez ensuite ajoutez ces conditions pour votre ventilateur:
Off à On si Durée H "Ballon plein" <= 0:01
Autrement dit, dès que la ligne virtuelle aura été activée 1 minute, le ventilateur ne pourra plus s'activer.
Attention au fait qu'il ne pourra plus redémarrer avant 6h le lendemain... (si le ballon est chaud en journée et que vous prenez de l'eau, il va se remettre à chauffer sans ventilateur) ce n'est donc pas très sécurisé.
06-03-2025, 10:00 PM (Modification du message : 06-03-2025, 10:09 PM par tupolev89.)
Bonsoir, j'ai bien reçu votre réponse. J'avais déjà une sonde de température sur le radiateur triac, et j'ai réglé le contacteur avec les Conditions qui sont sur la photo jointe.
Ça fonctionne bien pour l'instant.
Je vous remercie d'avance pour votre réponse.
Cordialement
Le fait d'avoir ajouter une action avec le seuil on à off <= 2%,
Me permet de contrôler aussi l'arrêt du ventilateur en cas de marche forcée.
Quand le ballon est chaud, le triac retombe à zéro mais avec une température supérieur à 25 ° donc avec ce paramètres le ventilo s'arrête lorsque le triac passe sous les 2%
Cela ne génère-t-il pas des arrêt/démarrages?
car le On à Off ne s'active que s'il est On. Ca veut dire que lorsqu'il est off, il peut passer à On (avant de repasser à Off)
Si c'est le cas, mettez la temporisation à plusieurs minutes.