Bienvenue, Visiteur
Vous devez vous enregistrer avant de pouvoir poster.

Nom d’utilisateur
  

Mot de passe
  





Rechercher dans les forums

(Recherche avancée)

Derniers sujets
Régulateur PID proposé en...
Dernier message : Lolo691
Il y a 4 minutes
Comment profiter de sa pr...
Dernier message : janin
Il y a 5 minutes
Entrée validation routage
Dernier message : Mike
Il y a 35 minutes
Connecter compteur eau im...
Dernier message : Lolo69
Il y a 37 minutes
couleur tempo disparue
Dernier message : tictic tac
Il y a 49 minutes
Affichage l’ESP32-2432S02...
Dernier message : Stef
Il y a 1 heure
Version RMS 4.04
Dernier message : michy
Il y a 2 heures
Pilotage selon prévision ...
Dernier message : Lolo69
Il y a 6 heures
nouvelle action index UV
Dernier message : jeffwood
Il y a 6 heures
F1ATB sans wifi
Dernier message : grostoto
Hier, 11:49 PM

Statistiques du Forum
» Membres : 2,275,   » Dernier membre : Lolo691,   » Sujets du forum : 1,793,   » Messages du forum : 15,984,  
Statistiques complètes

  Stop Intégrale : acceleration de la reponse
Posté par : Lolo69 - 02-11-2025, 04:26 PM - Forum : Evolutions faites, à faire, dont vous rêvez... - Réponses (26)

Après avoir conduit au mode “demi-reset” avec la réduction du cycle et de la répartition des ON sur la sortie, on va pouvoir maintenant s attarder sur la partie algorithme du régulateur du routeur.
Le routeur d André est basé sur un régulateur Proportionnel Intégral Dérivée en ayant conservé que la partie Intégrale pour s affranchir des problèmes de période d échantillonnage et de pas de réglages.
Cette technique fonctionne plutôt bien et est bien adaptée mais ne permet pas des réactions rapides en cas de nuages qui passent ou de consommateurs électriques qui démarrent ou s arrêtent.

Plusieurs discussions sur le forum ont été écrites pour tenter d améliorer cet algorithme en introduisant de la proportionnelle, de la dérivée du feed forward mais aucune peut aboutir d un point de vue mathématique en raison du retard et de la fréquence d échantillonnage de la mesure trop faible pour ne pas faire rentrer le régulateur en auto oscillation.

Il n’y a donc rien à faire ? 
He bien si …


Avant de vous expliquer le principe de l amélioration proposée je vais m attarder sur le principal inconvénient de l action intégrale pure.

On considère error comme l écart entre la mesure (de puissance totale) et la consigne ( seuil PW dans langage du routeur F1atb)

Tant que l erreur est positive l intégrale va augmenter son signal . Le signal continue d augmenter même si l erreur redescend. On est donc obligé d attendre de dépasser la consigne dans l autre sens pour réduire le signal. Cela provoque donc des autoscillations pour arriver à la stabilisation. Pour minimiser cet effet on est obligé d appliquer une réactivité relativement faible.

Le principe de la modification sera de surveiller le signe de la dérivée filtrée de l erreur. Si le changement de signe de cette erreur filtrée et dérivée est confirmé sur plusieurs échantillons, alors on met l intégration en pause car cela signifie que la bonne valeur de sortie est atteinte et donc inutile d aller plus loin et d attendre que la mesure repasse de l autre côté de la consigne.

Voila le décor est planté et l aperçu des programmes modifiés et résultat sur les courbes arriveront ici prochainement

Imprimer cet élément

  Implémenter une option reboot auto ?
Posté par : Piemdp - 02-11-2025, 02:56 PM - Forum : Evolutions faites, à faire, dont vous rêvez... - Réponses (5)

Bonjour.
Le routeur fonctionne très bien en UxIx2. ?
Mais régulièrement et de façon tout à fait aléatoire, l’affichage web est « corrompu » que ce soit via le web ou en réseau local.
J’ai le panneau coloré sans aucune données.
Malgré rafraîchissement, effacement des données de navigations etc…☹️
Parfois, il manque des courbes.
C’est très bizarre et ça arrive après 48h comme 1200h…?
Le tout sous safari ios.
Cependant, ça le fait parfois aussi via chrome sous iOS et sur mon Mac.
Donc le seul moyen que j’ai trouvé est de rebooter le routeur. 
Parfois cela fonctionne directement via la page /Para
Soit il faut le faire manuellement.

Pourriez vous implémenter une fonction à cocher du type reboot auto tous les x jours à telle heure ?

Je suis souvent en déplacement et j’aime bien checker que tout se passe bien car sinon, lorsqu’il n’y a plus d’eau chaude, c’est pas foufou à la maison ?

Merci d’avance !



Pièces jointes Miniature(s)
   
Imprimer cet élément

  ESP32-S3 ?
Posté par : Jacques1370 - 02-11-2025, 12:38 PM - Forum : Evolutions faites, à faire, dont vous rêvez... - Réponses (2)

Bonjour
est-il envisageable de développer une carte "maitre" qui gèrerait avec des priorités paramétrables genre températures , saisons ,heures ,  météo  des cartes "esclaves" pour l'ensemble de la maison. Je gère 9 cartes esp32 pour des radiateurs , 1 pour le CE , et 1 pour la pompe de circulation du robot  et filtration . C'est contraignant à gérer je fais moi-même les priorités  en mettant off certains esp pour donner la priorité a certaines zones .Le routage en paramétrant la puissance n'est pas adapté pour autant de routeurs .
Merci

Imprimer cet élément

  Relais SSR : tension de commande
Posté par : Renardrouge - 02-11-2025, 12:20 PM - Forum : Routeur Photovoltaïque - Réponses (7)

Bonjour Forum !

Utilisateur du routeur depuis ... longtemps, et voulant gravir une marche supplémentaire, 
je veux ajouter une seconde commande ACTION et activer un relais SSR pour commander
une résistance dans un ballon d'eau gérant mon plancher chauffant.

J'ai cependant une interrogation concernant la tension de commande du SSR.

Dans la doc d’André , il précise bien qu’il faut choisir la bonne version de relais : Commandé en 3.3V, logique pour l'ESP.
Mais Tous les relais que je trouve sont eux commandable de 3 à 32V DC ??!
Il y a donc une interface à installer  ? ou alors j'ai raté quelque chose ....

Quelqu'un peut t'il dissiper de vide ?

Merci bien.

Imprimer cet élément

  Version 15.11
Posté par : tupolev89 - 02-11-2025, 11:31 AM - Forum : Routeur Photovoltaïque - Réponses (22)

Bonjour, apparemment la version 15. 11 est en ligne.
Qu'elles sont les nouveautés de cette dernière version ? 
D'avance merci pour vos réponses. 
Cordialement

Imprimer cet élément

  Données seconde sonde
Posté par : Chaps - 01-11-2025, 12:16 PM - Forum : Routeur Photovoltaïque - Réponses (2)

Bonjour,

Entre 5h et 7h le matin , je complète la température du CE  . Cette consommation est prise en compte par la seconde sonde et fausse la comptabilisation du routage réel .
Est-il possible de ne pas comptabiliser cette consommation matinale sur la seconde sonde ?
Merci .

Imprimer cet élément

  acs712 vues pour andré
Posté par : deuns - 31-10-2025, 07:47 PM - Forum : Evolutions faites, à faire, dont vous rêvez... - Pas de réponse

           

Imprimer cet élément

  acs712 en complement du routeur...
Posté par : deuns - 31-10-2025, 05:28 PM - Forum : Evolutions faites, à faire, dont vous rêvez... - Pas de réponse

si ca peut interesser ....
soit pour faire du delestage ou tout simplement suivre les consos de qqs appareil 
j ai assemblé un petit code pour esphome 
il y a 4 entrées adc pour le moment sur les 6 possible mais vous pourrez ajuster le nombre...
faudrait que j importe aussi en plus de la tention le cosphy depuis l esp du routeur ca suivra plus tard 

le code fonctione et est integrable a la carte energie ha
par contre sous cette forme il y aura certainement des problemes de tabulation.
je vais demander a andré si je peu et comment deposer le fichier yaml

####################code acs712##########################


esphome:
  name: enfin
  friendly_name: enfin
esp32:
  board: esp32dev
  framework:
    type: arduino
# === LOGGING ===
logger:
# === OTA & API ===
api:
  encryption:
    key: "3jEhUZsfSYUWix+PoQeJPsJxEqQFeFeqTWEiY8FR87U="
ota:
  - platform: esphome
    password: "7ae9573fbc8fbd858728ae6764ec0fd9"
# === WIFI ===
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "Enfin Fallback Hotspot"
    password: "xRQ53X4dpqnR"
# === MQTT : récupère la tension secteur du routeur ===
mqtt:
  broker: 192.168.1.50     # <-- à remplacer par l'adresse de ton broker
  username: !secret mqtt_user
  password: !secret mqtt_password
# === TEMPS ===
time:
  - platform: sntp
    id: sntp_time
# === LIBRAIRIE ACS712 ===
external_components:
  - source:
      type: git
      url: https://github.com/marianomd/acs712-esphome
    components: [acs712]
# === CAPTEURS ===
sensor:
  # === TENSION REÇUE VIA MQTT ===
  - platform: mqtt_subscribe
    name: "Tension Secteur Routeur"
    id: line_voltage_remote
    topic: routeur_rms/routeur_rms_tension_m
    unit_of_measurement: "V"
    accuracy_decimals: 1
    device_class: voltage
    state_class: measurement
    entity_category: diagnostic
    icon: mdi:flash
    filters:
      - clamp:
          min_value: 100
          max_value: 260
  # === Offsets pour calibrage ===
  - platform: template
    id: acs_cumulus_offset
    internal: true
  - platform: template
    id: acs_frigo_offset
    internal: true
  - platform: template
    id: acs_plant_offset
    internal: true
  - platform: template
    id: acs_lavevaisselle_offset
    internal: true
  # === CUMULUS ===
  - platform: acs712
    id: acs_cumulus
    pin: 35
    adc_bits: 4095
    voltage: 5
    mv_per_amp: 100
    line_voltage: 230
    noisemV: 21
    current_sensor:
      name: "Cumulus Courant"
      id: current_cumulus
      unit_of_measurement: "A"
      device_class: current
      state_class: measurement
    power_sensor:
      name: "Cumulus Puissance"
      id: power_cumulus
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      filters:
        - lambda: |-
            if (id(line_voltage_remote).has_state()) {
              return x * id(line_voltage_remote).state / 230.0;
            } else {
              return x;
            }
  - platform: total_daily_energy
    name: "Énergie Cumulus Journalière"
    id: energy_cumulus_day
    power_id: power_cumulus
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    accuracy_decimals: 3
    filters:
      - multiply: 0.001
  - platform: integration
    name: "Énergie Cumulus Totale"
    sensor: power_cumulus
    time_unit: h
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    integration_method: trapezoid
  # === FRIGO ===
  - platform: acs712
    id: acs_frigo
    pin: 36
    adc_bits: 4095
    voltage: 5
    mv_per_amp: 100
    line_voltage: 230
    noisemV: 21
    current_sensor:
      name: "Frigo Courant"
      id: current_frigo
      unit_of_measurement: "A"
      device_class: current
      state_class: measurement
    power_sensor:
      name: "Frigo Puissance"
      id: power_frigo
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      filters:
        - lambda: |-
            if (id(line_voltage_remote).has_state()) {
              return x * id(line_voltage_remote).state / 230.0;
            } else {
              return x;
            }
  - platform: total_daily_energy
    name: "Énergie Frigo Journalière"
    id: energy_frigo_day
    power_id: power_frigo
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    accuracy_decimals: 3
    filters:
      - multiply: 0.001
  - platform: integration
    name: "Énergie Frigo Totale"
    sensor: power_frigo
    time_unit: h
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    integration_method: trapezoid
  # === PLANT ===
  - platform: acs712
    id: acs_plant
    pin: 34
    adc_bits: 4095
    voltage: 5
    mv_per_amp: 100
    line_voltage: 230
    noisemV: 21
    current_sensor:
      name: "Plant Courant"
      id: current_plant
      unit_of_measurement: "A"
      device_class: current
      state_class: measurement
    power_sensor:
      name: "Plant Puissance"
      id: power_plant
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      filters:
        - lambda: |-
            if (id(line_voltage_remote).has_state()) {
              return x * id(line_voltage_remote).state / 230.0;
            } else {
              return x;
            }
  - platform: total_daily_energy
    name: "Énergie Plant Journalière"
    id: energy_plant_day
    power_id: power_plant
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    accuracy_decimals: 3
    filters:
      - multiply: 0.001
  - platform: integration
    name: "Énergie Plant Totale"
    sensor: power_plant
    time_unit: h
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    integration_method: trapezoid
  # === LAVE-VAISSELLE ===
  - platform: acs712
    id: acs_lavevaisselle
    pin: 39
    adc_bits: 4095
    voltage: 5
    mv_per_amp: 100
    line_voltage: 230
    noisemV: 21
    current_sensor:
      name: "Lave-Vaisselle Courant"
      id: current_lavevaisselle
      unit_of_measurement: "A"
      device_class: current
      state_class: measurement
    power_sensor:
      name: "Lave-Vaisselle Puissance"
      id: power_lavevaisselle
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      filters:
        - lambda: |-
            if (id(line_voltage_remote).has_state()) {
              return x * id(line_voltage_remote).state / 230.0;
            } else {
              return x;
            }
  - platform: total_daily_energy
    name: "Énergie Lave-Vaisselle Journalière"
    id: energy_lavevaisselle_day
    power_id: power_lavevaisselle
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    accuracy_decimals: 3
    filters:
      - multiply: 0.001
  - platform: integration
    name: "Énergie Lave-Vaisselle Totale"
    sensor: power_lavevaisselle
    time_unit: h
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    integration_method: trapezoid
  # === TOTAL GLOBAL ===
  - platform: template
    name: "Énergie Totale"
    id: energy_total
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    accuracy_decimals: 3
    update_interval: 10s
    lambda: |-
      return (
        id(energy_cumulus_day).state +
        id(energy_frigo_day).state +
        id(energy_plant_day).state +
        id(energy_lavevaisselle_day).state
      );
# === CALIBRAGE AUTOMATIQUE ===
interval:
  - interval: 5min
    then:
      - lambda: |-
          id(acs_cumulus_offset).publish_state(id(current_cumulus).state);
          id(acs_frigo_offset).publish_state(id(current_frigo).state);
          id(acs_plant_offset).publish_state(id(current_plant).state);
          id(acs_lavevaisselle_offset).publish_state(id(current_lavevaisselle).state);
          ESP_LOGI("calibration", "Calibration automatique mise à jour.");
# === PORTAIL CAPTIF ===
captive_portal:

Imprimer cet élément

  délestage du chauffe eau si surconsommation
Posté par : nicopro - 31-10-2025, 12:13 PM - Forum : Evolutions faites, à faire, dont vous rêvez... - Réponses (10)

y aurait un moyen pour brider la triac de façon à rester dans la limite des 9kva ( dans mon cas) pour eviter le déclenchement du disjoncteur. le problème se pose actuellement avec les heures gratuites engie , où tout marche en même temps.

Imprimer cet élément

  Probleme mesures source avec Shelly 3EM
Posté par : jojolabequille - 30-10-2025, 10:47 PM - Forum : Routeur Photovoltaïque - Réponses (5)

Bonsoir
Je reviens vers vous, j'ai déjà posté sur le sujet il y a quelques jours mais je suis surpris que personne ne rencontre ce type de désagrément.
Je m'explique, depuis que je suis passé en version 15 si je paramètre plus de 2 routeurs pour la prise de mesures sur le shelly 3em, j'ai des listes interminables de l'erreur : client Shelly EM timeout.
Et ça sur mes 4 routeurs,  c'est récurrent toutes les 1 ou 2 minutes. Si je n'ai que 2 routeurs tout fonctionne bien.
J'ai tout essayé au niveau paramétrage, j'ai réinitialisé le Shelly. Si je repasse en 14.25 tout fonctionne nickel mais j'aimerais conserver la V.15 qui est beaucoup plus réactive.
Personne à ce jour n'a rencontré ce souci ou aurait une idée pour y mettre fin ?
De mon côté je suis incapable de résoudre ce problème ou de modifier le code pour tester une alternative.
Merci à ceux qui pourront m'aider.

Imprimer cet élément


Utilisateurs en ligne
Il y a actuellement 270 utilisateurs connectés. » 11 Membre(s) | 256 Visiteur(s)
Bing, Facebook, Google, F1ATB, janin, jean pierre geffroy, jerph, Lolo691, Ludovic_FLY, papy3264, Philmaz, reineur, Stef, varadero

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