Note de ce sujet :
  • Moyenne : 5 (2 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Sortie Version V16.05
#21
(30-11-2025, 08:45 PM)grostoto a écrit :
(30-11-2025, 06:55 PM)Lolo691 a écrit : Le principe est effectivement de charger dans le bon ordre ;-)

Pour le réglage PID ça n a pas beaucoup de sens de visualiser chacune des composantes du PID , c est surtout à but didactique.
La méthodologie de réglage a été décrite dans le fil sur la v16.0
Seule la superposition de la sortie sur la mesure puissance active 10m permet d analyser la réponse du régulateur pour affiner les 3 paramètres

au contraire, pour les gens normaux (qui ne font pas du pid leur métier) c'est très parlant: cela permet de voir quelle réglage fait quoi facilement, et surtout de revenir au réglage précédant sans avoir à réfléchir (vu qu'il est visible sur la courbe).
le routeur s'adresse à tout le monde, la plupart découvrent ce qu'est un pid avec le routeur.
très bonne idée de mettre la représentation visuelle des réglages, on a l'action et la réaction sur le même graphique.

personnellement, je vais rester avec ma 14.25 qui fonctionne au poil, cela devient bien trop complexe: un bon systeme est un systeme qu'on oublie, pas un systeme qu'on passe sa vie à régler.
j'aime à dire que mettre à jour pour mettre à jour quand tout fonctionne bien, c'est chercher les pbs...

quand il y aura le module afficheur  IPS tactile capacitif ESP32-S3 ), la effectivement, je mettrai à jour tout le systeme...

c  est exactement la raison que j ai dit que le but etait didactique , ca permet de voir comment les parametres agissent, mais ca n'est d'aucune aide pour savoir comment regler les dits parametres
Répondre

#22
(30-11-2025, 09:31 PM)59jag a écrit : Bien vu si l'on quitte sans sauvegarder. Je vais modifier pour la version 16.06. Il faut aussi traiter la fermeture brutale du navigateur qui ne génère pas de beforeunload.

André

Code :
var valeursInitialesPID = {};
var enCourseDeSauvegarde = false;

window.addEventListener('load', function() {
    setTimeout(function() {
        if (typeof LesActions !== 'undefined') {
            for (var i = 0; i < LesActions.length; i++) {
                valeursInitialesPID[i] = {
                    Kp: LesActions[i].Kp,
                    Ki: LesActions[i].Ki,
                    Kd: LesActions[i].Kd
                };
            }
        }
    }, 1000);
});

var OriginalSendValues = SendValues;
SendValues = function() {
    enCourseDeSauvegarde = true;
    OriginalSendValues();
};

window.addEventListener('beforeunload', function() {
    if (enCourseDeSauvegarde) {
        return;
    }
    if (typeof valeursInitialesPID !== 'undefined') {
        for (var i = 0; i < LesActions.length; i++) {
            if (valeursInitialesPID[i]) {
                var sliderKp = document.getElementById("sliderKp" + i);
                var sliderKi = document.getElementById("sliderKi" + i);
                var sliderKd = document.getElementById("sliderKd" + i);
                var sensiKp = document.getElementById("sensiKp" + i);
                var sensiKi = document.getElementById("sensiKi" + i);
                var sensiKd = document.getElementById("sensiKd" + i);
                if (sliderKp) {
                    sliderKp.value = valeursInitialesPID[i].Kp;
                    if (sensiKp) sensiKp.innerHTML = valeursInitialesPID[i].Kp;
                }
                if (sliderKi) {
                    sliderKi.value = valeursInitialesPID[i].Ki;
                    if (sensiKi) sensiKi.innerHTML = valeursInitialesPID[i].Ki;
                }
                if (sliderKd) {
                    sliderKd.value = valeursInitialesPID[i].Kd;
                    if (sensiKd) sensiKd.innerHTML = valeursInitialesPID[i].Kd;
                }
                if (typeof UpdateK === 'function' && typeof PlotIdx !== 'undefined') {
                    var oldPlotIdx = PlotIdx;
                    PlotIdx = i;
                    UpdateK(i);
                    PlotIdx = oldPlotIdx;
                }
            }
        }
    }
});

il y a peux être plus simple et moins long .
Répondre

#23
Le bug du svg a été corrigé dans la version V16.06

André
Répondre

#24
La version v16.06 remet les coefficients du PID après des essais non sauvegardés.

Cordialement

André
Répondre

#25
Cette version 16.06 avec le mode PID fonctionne à merveille chez moi, merci André pour le travail accompli ! Les courbes sont vraiment belles et ça réagi
t rapidement.

Par contre j'ai une question concernant le coef. Kp sur le site d'André. Nous sommes bien d'accord que dans les exemples de valeurs typiques la "puissance charge en W" dont il est question dans le mode de régulation PID c'est la puissance maximale qu'on peut envoyer au cumulus et non pas la puissance de le résistance du cumulus ?

Je m'explique. J'ai un cumulus de 2200 watts mais 3 panneaux qui ne peuvent produire que 1200 watts grand max. Je ne peux donc pas envoyer plus de 1200 watts dans le cumuls et pour être tout à fait exact 900-1000 watts si on enlève le talon de conso.

Je peux donc fixer un coef. Kp à 60 ?


Pièces jointes Miniature(s)
               
Routeur v16.06, mesures Shelly EM + sonde de température DS18B20
Triac Robodyn 24A/600V avec radiateur externe
Demi sinus, mode PID en cours d'expérimentation (50Kp;14Ki;10Kd)
3 panneaux photovoltaïques Sunology Play 405W
Cumulus 200L 2200W méca 62°
Répondre

#26
Non considéré les 2200w de votre Cumulus. Le routeur n'est pas sensible au fait que vous ne pouvez produire que 1200W

André
Répondre



Atteindre :


Utilisateur(s) parcourant ce sujet :
zoll38, 2 visiteur(s)

Moteur MyBB, © 2002-2025 Melroy van den Berg.