Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Plusieurs Suggestions en un post
#1
Ci-dessous plusieurs suggestions d'améliorations que j'ai moi même implémentées et testées, pour ceux qui sont intéressés pour les réaliser faites moi signe je vous donnerai les details de leur implementation.

Nouveau Module UxI

Je propose ce PCB pour implementer un routeur UxI seul , pour les néophytes du PCB , rassurez vous c est beaucoup plus simple et fiable que de faire ca avec des connexions DUPONT, je peux vous donner soit les fichiers Gerber soit le projet Kicad: vous envoyez ca chez JLCPCB et 10 jours plus tard vous recevrez 5 Exemplaires de qualité du PCB pour 4€20 frais de port inclus !!!
           

Les particularités de ce montage :
- Ultra compact 50x50x25mm en tout pour arriver à cette taille 
             * j 'ai choisi un ESP32-S3-Mini , ce qui m a demandé un enorme effort de conversion de programme pour pouvoir le compiler.
             * J'ai remplacé le transfo 220/6 du schema d'origine par un ZMPT pour son format ultra compact mais surtout pour gagner en précision de mesure, le zmpt ne deforme pas la sinusoide et n'induit qu un très faible dephasage
             * J ai remplacé l'alim USB par un HLK-5M05 qui transforme le 220vac en 5Vdc ultra stable jusqu'à 1A dans un format ultra compact sans chauffer
              * composants en double face , il faut donc faire gaffe à l’ordre de soudage
              * J'ai meme fait les rainures pour augmenter le creepage entre le 220 et le reste du montage !

Amélioration précision programme Source UxI
Malgré tous les essais de coefficients multiplicateurs j 'avais remarqué pas mal d'ecarts entre mon module UxI et le linky et le shelly, après avoir exploré toutes les pistes materiels je me suis penché sur le code , et j ai trouvé le coupable dans la void MeasurePower du fichier Source_UxI dans lequel on fait analogRead ( courant) puis  analogRead ( Tension) or analogRead prend plusieurs dizaine de microsecondes, donc les deux mesures au lieu d etre parfaitement synchrones sont alors dephasées, et sur la somme des 100 echantillons cela donne une erreur non negligeable et surtout non fixe en fonction de la charge ou du hachage.
Pour corriger cela j ai introduit un decalage d'index pour faire les produits des 2 mesures au meme instant réel, le juge de paix est le calcul du cos phi qui est maintenant en permanence identique à celui du shelly quelques soit le type de charge et du % de hachage.
Pour faire ca , il y a pas mal de lignes de code modifiées, difficile de les lister ici mai je pourrai les fournir sur demande

Communication ESP32 Esclave vers ESP32 Maitre en UDP à la place de TCP
J'ai plusieurs ESP "Esclaves" qui lisaient la mesure de mon ESP32 Maitre ( Mesure UxI) . Le principe de la comm du programme d'André est que les ESP sont interconnectés en TCP , obligeant à maintenir de multiples connexon TCP et chaque Esclave demande au maitre la mesure. Ceci prend enormement de temps ( 400ms) et font ramer le Maitre qui a du mal à répondre à tous les esclaves qui posent des questions !!! , j'étais très frustré d'avoir une mesure UxI à 40ms et de les lire que toutes les 400ms
J'ai donc changé la communication TCP en communication UDP. zero latence de connexion , le maitre Broadcast sa mesure toutes les 50ms en une seule fois pour tous les esclaves qui ecoute sur le réseau.
Resultats la mesure de tous les esclaves est quasi synchrones , et raffraichie toutes les 50ms ce qui est crucial pour le regulateur PID qui devient ultra performant et reactif capable d'encaisser une perturbation en moins de 100ms contre 800 avant. Du coup j ai passé la periode du PID à 60 ms contre 200ms actuellement, ce qui permet au regulateur d'absorber quasiment en temps reel toutes les modifications de la puissance ( Nuages, demarrage appareil etc etc ) , je vous mettrai les courbes plus tard pour illustrer ca.
Ca permet aussi un meilleur fonctionnement des routeurs parallèles car ils traitent tous la meme mesure au meme instant, ils ne mordent plus la queue ce qui pemet d'ameliorer la prioritisation des routages par decalage de seuils.

Pour rappel d'autres améliorations dejà evoquées :
- Courbe Sortie PID superposée à la mesure en lieu et place de la Puissance apparente, permet de controler finement le fonctionnement et les reglages du PID, on voit rapidement la réaction du régulateur face à une perturbation
- Linéarisation de la sortie régulateur en mode Decoupe Sinus , ce qui permet de rendre le systeme lineaire et donc les reglages PID sont bons et précis quelque soit le point de fonctionnement et plus particulièrement en debut et fin d'ouverture dans lequel le routeur se trouve souvent

 A explorer : communication esp-now entre routeurs
- réduction de latence
- communication radio direct sans passer par une box
- distance théorique plus grande .


Les résultats de la régulation en courbes
       

Globalement je reitère mes remeciements à André pour le travail colossal qu'il a accompli et qui m'a aidé à accomplir le projet que j'avais commencé seul et qui m'aurait pris des années pour arriver à ce resutat qui est aujoird'hui pour moi aboutit et qui repond à mes passions pour la régulation, l'electronique et la programmation , toutes réunies dans un seul et meme projet
Je remercie également tous les membres de ce forum dont les lectures m'ont fait enormement progresser et m'ont donné des idées que je n'imaginais pas jusque là. Et enfin je remercie meme Grostoto qui par ses critiques consctructives m'a poussé dans mes retranchements.

Ces améliorations s’adressent plutôt à des utilisateurs à l’aise avec l’électronique et la régulation, elles ne remettent pas en cause l’excellent fonctionnement de la version standard.
Ce post est quasiment le clap de fin alors , bon routage à tous.
Répondre

#2
Belle réalisation hard et soft. Félicitations. 
J’aime bien les rainures  Big Grin

Bien sûr, on voudra en savoir plus, comme les performances en wifi du petit module. 
Tu as le routeur en entier dessus ou juste la mesure et l’envoi de la puissance?

J’envisage un module à 6 pinces (mesures puissances par circuit spécifique BL0906, qui s’occupe du décalage des mesures U et I en interne) dans un boîtier rail din 4 modules, peut être 3 avec un module esp plus petit mais je voudrais garder les actions dedans (avec allocation sur un canal de puissance spécifique).
Répondre

#3
Je l’utilise en mesure seule, c’était mon objectif de le faire le plus petit possible pour le caser dans mon coffret elec archi plein.
Sinon l esp32-s3-mini , je n ai pas de test avancer sur les perf wifi mais sur le papier c est plus performant car c est plus récent et intégré directement dans la puce, plutôt qu une puce externe. L effet est que le wifi ne mange pas des GPIO
Les perfs global du S3 mini sont meilleurs que le « vieux » dev kit classique
Côté GPIO il y en a plus qu il n en faut pour faire un routeur complet. Car le routeur n a pas besoin de DAC absentes du S3mini
Le seul gros bémol sont les librairies arduino qui rendent le code d André non compilable pour cette carte , qui exige une programmation C++ stricte. J ai vraiment galéré pour faire la compilation et serait bien incapable de dire toutes les modifications faites pour y parvenir. Ceci dit il me semble qu André prépare une version S3 … avec cette version il suffira juste de changer les numéros des GPIO.
Répondre

#4
Thumbs Up 
Bonjour,

Bravo pour cette belle adaptation, et qui, je le note, est déjà en avance de phase par rapport aux futures évolutions annoncées par André pour cette année, avec en particulier l'adaptation du code sur ESP32-S3. Smile 
En tout cas je mesure en connaisseur la qualité de la réalisation matérielle : module très compact, l'utilisation de composants modernes (comme l'alimentation HLK-5M05 'tout-en-un' qui est très stable effectivement et ne chauffe pas grâce à un excellent rendement), le tout sur un PCB dont la qualité de fabrication chez JLCPCB est toujours de qualité industrielle (généralement en simple face je préfère les fabriquer moi-même, mais pour du double face je les fais faire...). On est très loin de la plaque d'expérimentation bricolo ! Le seul reproche étant peut-être que la quantité commandée ne peut être inférieure à 5 unités, pas tant pour le prix global qui reste très raisonnable, que pour les PCB qui resteront inutiles et qui risquent fort de rester au fond d'un tiroir... Sauf à mutualiser bien sûr.

Côté logiciel, toutes ces idées méritent largement d'être prises en compte. J'espère sincèrement qu'André les intégrera dans les futures versions ! Et là aussi je mesure la quantité de travail qu'il aura fallu pour obtenir ces résultats. 
En tout cas encore bravo !
_________________________________________________
Routeur Solaire en v17.16 (modifié avec écran OLED)
Pilotage d'un cumulus de 3kW + Jeedom v4.5.3 + Station solaire 3,5kW
Répondre

#5
(05-05-2026, 07:08 PM)Lolo69 a écrit : Ci-dessous plusieurs suggestions d'améliorations que j'ai moi même implémentées et testées, pour ceux qui sont intéressés pour les réaliser faites moi signe je vous donnerai les details de leur implementation.

Nouveau Module UxI

Je propose ce PCB pour implementer un routeur UxI seul , pour les néophytes du PCB , rassurez vous c est beaucoup plus simple et fiable que de faire ca avec des connexions DUPONT, je peux vous donner soit les fichiers Gerber soit le projet Kicad: vous envoyez ca chez JLCPCB et 10 jours plus tard vous recevrez 5 Exemplaires de qualité du PCB pour 4€20 frais de port inclus !!!


Les particularités de ce montage :
- Ultra compact 50x50x25mm en tout pour arriver à cette taille 
             * j 'ai choisi un ESP32-S3-Mini , ce qui m a demandé un enorme effort de conversion de programme pour pouvoir le compiler.
             * J'ai remplacé le transfo 220/6 du schema d'origine par un ZMPT pour son format ultra compact mais surtout pour gagner en précision de mesure, le zmpt ne deforme pas la sinusoide et n'induit qu un très faible dephasage
             * J ai remplacé l'alim USB par un HLK-5M05 qui transforme le 220vac en 5Vdc ultra stable jusqu'à 1A dans un format ultra compact sans chauffer
              * composants en double face , il faut donc faire gaffe à l’ordre de soudage
              * J'ai meme fait les rainures pour augmenter le creepage entre le 220 et le reste du montage !

Amélioration précision programme Source UxI
Malgré tous les essais de coefficients multiplicateurs j 'avais remarqué pas mal d'ecarts entre mon module UxI et le linky et le shelly, après avoir exploré toutes les pistes materiels je me suis penché sur le code , et j ai trouvé le coupable dans la void MeasurePower du fichier Source_UxI dans lequel on fait analogRead ( courant) puis  analogRead ( Tension) or analogRead prend plusieurs dizaine de microsecondes, donc les deux mesures au lieu d etre parfaitement synchrones sont alors dephasées, et sur la somme des 100 echantillons cela donne une erreur non negligeable et surtout non fixe en fonction de la charge ou du hachage.
Pour corriger cela j ai introduit un decalage d'index pour faire les produits des 2 mesures au meme instant réel, le juge de paix est le calcul du cos phi qui est maintenant en permanence identique à celui du shelly quelques soit le type de charge et du % de hachage.
Pour faire ca , il y a pas mal de lignes de code modifiées, difficile de les lister ici mai je pourrai les fournir sur demande

Communication ESP32 Esclave vers ESP32 Maitre en UDP à la place de TCP
J'ai plusieurs ESP "Esclaves" qui lisaient la mesure de mon ESP32 Maitre ( Mesure UxI) . Le principe de la comm du programme d'André est que les ESP sont interconnectés en TCP , obligeant à maintenir de multiples connexon TCP et chaque Esclave demande au maitre la mesure. Ceci prend enormement de temps ( 400ms) et font ramer le Maitre qui a du mal à répondre à tous les esclaves qui posent des questions !!! , j'étais très frustré d'avoir une mesure UxI à 40ms et de les lire que toutes les 400ms
J'ai donc changé la communication TCP en communication UDP. zero latence de connexion , le maitre Broadcast sa mesure toutes les 50ms en une seule fois pour tous les esclaves qui ecoute sur le réseau.
Resultats la mesure de tous les esclaves est quasi synchrones , et raffraichie toutes les 50ms ce qui est crucial pour le regulateur PID qui devient ultra performant et reactif capable d'encaisser une perturbation en moins de 100ms contre 800 avant. Du coup j ai passé la periode du PID à 60 ms contre 200ms actuellement, ce qui permet au regulateur d'absorber quasiment en temps reel toutes les modifications de la puissance ( Nuages, demarrage appareil etc etc ) , je vous mettrai les courbes plus tard pour illustrer ca.
Ca permet aussi un meilleur fonctionnement des routeurs parallèles car ils traitent tous la meme mesure au meme instant, ils ne mordent plus la queue ce qui pemet d'ameliorer la prioritisation des routages par decalage de seuils.

Pour rappel d'autres améliorations dejà evoquées :
- Courbe Sortie PID superposée à la mesure en lieu et place de la Puissance apparente, permet de controler finement le fonctionnement et les reglages du PID, on voit rapidement la réaction du régulateur face à une perturbation
- Linéarisation de la sortie régulateur en mode Decoupe Sinus , ce qui permet de rendre le systeme lineaire et donc les reglages PID sont bons et précis quelque soit le point de fonctionnement et plus particulièrement en debut et fin d'ouverture dans lequel le routeur se trouve souvent

Globalement je reitère mes remeciements à André pour le travail colossal qu'il a accompli et qui m'a aidé à accomplir le projet que j'avais commencé seul et qui m'aurait pris des années pour arriver à ce resutat qui est aujoird'hui pour moi aboutit et qui repond à mes passions pour la régulation, l'electronique et la programmation , toutes réunies dans un seul et meme projet
Je remercie également tous les membres de ce forum dont les lectures m'ont fait enormement progresser et m'ont donné des idées que je n'imaginais pas jusque là. Et enfin je remercie meme Grostoto qui par ses critiques consctructives m'a poussé dans mes retranchements.

Ces améliorations s’adressent plutôt à des utilisateurs à l’aise avec l’électronique et la régulation, elles ne remettent pas en cause l’excellent fonctionnement de la version standard.
Ce post est quasiment le clap de fin alors , bon routage à tous.
Bravo Lolo69 pour ce travail impressionnant et très pro !
Aurait tu des photos du montage réel ?
pourquoi tu indique "clap de fin", tes interventions sont opportunes au sein du forum ont fait bien avancées de nombreux forumeurs dont moi ;-) 
A te lire (encore) ;-) 
Gilles
Config : 3 routeurs F1ATB en V17.15 - 2 routeurs fixes en mode Triacs + 1 routeur mobile polyvalent en mode : Triac+SSR + 1 afficheur distant ESP32-S3
PV : (8*425W + Onduleur SunGrow 3KW) + (2 *500w + MO Hoymiles HMS-1000W-2T)
Supervision & Domotique : F1atb + Home Assistant / Shelly & MQTT
Répondre

#6
Tout est en boitier, je ferais photo à l occasion
Clap de fin car je me suis trop éloigné des versions d 'André donc je ne pourrais plus faire de comparatif et vous guider dans les lignes de codes.
Il est aussi temps de passer à autre chose, je reviendrai vous voir régulièrement quand même ;-)
Répondre

#7
(06-05-2026, 04:29 PM)Lolo69 a écrit : Clap de fin car je me suis trop éloigné des versions d 'André donc je ne pourrais plus faire de comparatif et vous guider dans les lignes de codes.
Il est aussi temps de passer à autre chose, je reviendrai vous voir régulièrement quand même ;-)

Bravo pour ce super travail et également merci pour toutes tes contributions et conseils avisés sur le forum, je n'y suis que depuis 1 an, utilisateur du routeur d'André, qui me satisfait pleinement (je suis encore en version 13.03).

l'ESP32 m'a donné quelques idées pour faire évoluer certains de mes projets, j'ai développé pas mal de produits quand j'étais en activité, à base de 68332, AT91SAM, pic18, et je continue à créer des équipements pour mes besoins domestiques, maintenant a base d'ESP32, vu son faible cout, et le nombre important de périphériques, je laisse de coté les microcontroleurs classiques...

en ce moment j'ai sous le coude (gerbers bientôt prêts à partir chez JLCPCB):

- une carte fille ESP32wroom32-N16 de 26x40mm, qui pourra se monter en vertical comme en horizontal, avec un connecteur 2x15x2.0mm
   
- une carte (14x86,5mm) se montant dans un boitier rail din de largeur 1 module, utilisant cette carte ESP32 en vertical, le but est de faire juste une interface Linky compatible mqtt utilisable par les routeurs (j'en prévois 2 autres), et sur bus CAN
- une carte de 67x33mm pour mesure de niveau de cuve a eau, logée dans un boitier étanche, avec capteur i2c dypsensor A22, utilisant l'ESP32 a plat.

et a venir
- un automate, basé sur OpenPLC, pour pompe de relevage ou surpresseur (boitier rail din 2, 3 ou 4 modules) pour remplacer un logo siemens (carte ESP32 en vertical)
- une carte routeur pour équiper un radiateur mobile en fonte a bain d'huile
- une interface entre le réseau IP et le bus can pour contrôler un système de gestion d'éclairage custom (projet HAPCAN, qui est un peu abandonné par son créateur), mais la c'est juste du soft, le module Linky Rail din sera utilisable.

tout ceci communique en réseau IP (wifi) et/ou bus CAN (câble EIB apportant un +24V).

Je développe avec Eagle, quasiment tout en CMS, sauf le connecteur de la CPU 2x15 qui peut ainsi être soudé à la demande, soit en droit soit en coudé.
je vais tenter de souder manuellement le module ESP32, a la binoculaire ca devrait aller (JLCPCB ne m'assemblerait au minimum que 35 cartes vu le format donc je ne peux pas faire sous-traiter pour le moment... dommage car ils ont vraiment tous les composants nécessaires en stock, ca simplifie énormément le travail)

je posterai des photos quand ce sera monté

je me demandais donc si tu pouvais mettre à disposition (en MP si tu préfère) le code source de ton développement sur tout ce qui touche au routeur Uxl...

Merci d'avance
Jean-Luc
14 x DMEGC 500W bifaces, 7 x DS3-H, ECU-C, 1 routeur F1ATB UxIx2 Triac pulse. Home-assistant sur Raspberry Pi CM5.
Répondre



Atteindre :


Utilisateur(s) parcourant ce sujet :
1 visiteur(s)

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