BLOC 6 voies

Discutions générales sur le DSPiy et tout ce qui s'y rattache
Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3098
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » mer. 11 sept. 2024 19:57

thierryvalk a écrit :Juste pour dire que l’ADC de l’°ESP32,dans cette application, fait du boulot pour rien.

c'est juste.
comme ca ne dépassera jamais 90°et que ce qui se passe en dessous de 40°C n'est pas a surveiller non plus, ca fait une plage "utile" de 40° à 90°C cad de valeur Adc de 2000 à 640. C'est quand meme 1360 points de mesure pour 50 unités de degré arrondis. Si ça c'est pas de l' oversampling :mrgreen:

l'effet de seuil peut etre terrible sur l'arrondi :
ADC = 1720 => T°calculée = 48,53 arrondi à 49°
ADC = 1721 => T° calculée = 48,4996 arrondi à 48°

J'ai essayé en virant les deux bits de droite. Pour ne pas avoir a refaire les formules, j'ai fait division entière par 4 et remultiplié par 4. Malheureusement ca reste boiteux. Les mesures Adc varient sur une plage trop large. il reste toujours des différences sur les moyennes.

J'ai mis une 100nf sur le potentiomètre en entrée d'Adc comme préconisé.
Ca a du sens de mettre une valeur plus grande pour essayer de stabiliser les mesures ?

et puis je ne sais toujours pas si c'est lié a mon setup de test. Si ca se trouve ca n'arrive pas du tout chez Alex avec un vrai pcb et des CTN.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3098
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » mer. 11 sept. 2024 20:17

autre idée : si la stabilité du 3V3 est en question, ça a du sens de rajouter une capa de 10uF ou plus entre 3v3 et gnd sur ma plaque d'essai proche du potentiometre ?

GoodNoize
Messages : 863
Enregistré le : mar. 27 nov. 2018 17:18
Localisation : Jura

Re: BLOC 6 voies

Messagepar GoodNoize » jeu. 12 sept. 2024 06:18

alka a écrit : Si ca se trouve ca n'arrive pas du tout chez Alex avec un vrai pcb et des CTN.


Vendredi début d'aprem je vais me mettre dessus.

Ta dernière version sera à retoucher du coup ?
Il ne serai pas plus prudent que je file la version 6.2 à Gillou, simple et fonctionelle.
Je lui configure le wifi via arduino à l'avance.

Et pendant ce temps la je betateste les nouvelles versions :)

--------

Hier encore un petit pbm sur le DSPiy que je vais finir par ouvrir pour tout inspecter.
IMG_2200.JPEG


là le DSPiy est STBY OFF : la led du bouton est éteinte.
Pourtant l'écran reste allumer :mrgreen:
Après coupure générale et remise du courant : Plus du tout d'écran

Je titille un peu les fils, je reset, et ça repart...

je vais me pencher sur la fixation de l'écran sur la tôle avant, doit y avoir un contact.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3771
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » jeu. 12 sept. 2024 07:21

alka a écrit :autre idée : si la stabilité du 3V3 est en question, ça a du sens de rajouter une capa de 10uF ou plus entre 3v3 et gnd sur ma plaque d'essai proche du potentiometre ?

L’ESP32 a une tension de référence de 1.1V (varie selon le modèle).
On peut donc se dire que cette tension est relativement stable.
Dans ce cas, c’est bien le 3V3 qui alimente ton diviseur de tension qui pose problèmes vu que c’est le même que pour le digital et cela via un régulateur basique.
Un RC + ferrite serait alors bien sur ce 3V3, il va atténuer les variations due à la consommation de l’ESP. Mais ne pourra rien sur des dérives tels que celles dépendant de la température du régulateur.
Il est parfois aussi possible par le code d’avoir une consommation stable et limitée lors de la mesure. Mais dans ton cas je doute que ce soit possible vu le WiFi.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3098
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » jeu. 12 sept. 2024 09:22

GoodNoize a écrit :
alka a écrit : Si ca se trouve ca n'arrive pas du tout chez Alex avec un vrai pcb et des CTN.


Vendredi début d'aprem je vais me mettre dessus.

Ta dernière version sera à retoucher du coup ?
Il ne serai pas plus prudent que je file la version 6.2 à Gillou, simple et fonctionelle.
Je lui configure le wifi via arduino à l'avance.

Et pendant ce temps la je betateste les nouvelles versions :)

oui il y aura un v 6.5 qui touche a quelques points. C'est en travaillant dessus que je me suis rendu compte du souci de la formule de la température et des pb de stabilité des mesures ADC chez moi.
Ca m'intéresserait vraiment de voir les vrais relevés de température pour voir la dynamique. Pour l'instant c'est du prototype et des paramétrages mis au pif total.

Pour la livraison à ton "client", tout dépend de son niveau en informatique :mrgreen:
A partir de version 6.4 c'est cool car il n'y a même plus besoin d'installer Arduino. Installation et paramétrage se font par l'interface web.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3098
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » jeu. 12 sept. 2024 10:13

j'ai rajouté une capa de 100µF entre 3V3 et GND sur ma plaque d'essai, ça ne change pas grand chose.

ce matin encore une série de prints sans rien toucher sur une plage d'une minute environ: (je ne print que lorsque la température résultante change)

TH[1]:1755,1754,1755,1908,1909,1909,1911,1909,1911,1908,-- Moyenne:1863, T°: 44
TH[4]:1754,1755,1755,1910,1908,1913,1913,1902,1911,1909,-- Moyenne:1863, T°: 44

TH[1]:1909,1911,1755,1908,1909,1909,1911,1909,1911,1908,-- Moyenne:1894, T°: 43
TH[4]:1911,1911,1755,1910,1908,1913,1913,1902,1911,1909,-- Moyenne:1894, T°: 43

TH[1]:1887,1885,1891,1891,1891,1885,1895,1891,1891,1891,-- Moyenne:1890, T°: 44
TH[4]:1893,1889,1893,1891,1891,1893,1897,1895,1891,1893,-- Moyenne:1893, T°: 43

TH[1]:1856,1854,1860,1855,1861,1855,1855,1855,1855,1856,-- Moyenne:1856, T°: 45
TH[4]:1853,1863,1861,1863,1861,1861,1855,1861,1862,1861,-- Moyenne:1860, T°: 44


variation des mesures de la plus faible à la plus forte : de 1754 à 1913 cad 159/1833=8.7%
c'est énorme! Pour une température de 60°C, une incertitude de mesure de 8% c'est 5°C. La moyenne gomme un peu mais ça reste peu fiable à 1°C près.
Autant de variation dans les mesures de l'ADC me sidère. TH1 et TH4 sont la même pin mesurés à quelqeus µS d'écart a chaque fois et pourtant elles sont rarement identiques. En bleu des exemples qui me paraissent 8|

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3771
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » jeu. 12 sept. 2024 10:20

Et justement, à la place de quelques µS tu mettais un temps plus long ?

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3098
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » jeu. 12 sept. 2024 10:43

TH1 à TH6 sont mesurées l'une après l'autre en séquence, donc a quelques µS d'écart. Ca donne une "colonne" de données dans les tables ci-dessus. Réduite à 2 dans ma config de test et en plus, sur la même pin car je n'en simule qu'une seule. Chez Alex c'est 6 pins différentes.

puis on attend un délai, que j'ai mis à 2 secondes

et on refait les 6 mesures. Chaque colonne de données est espacée de 2 secondes.

etc.

On garde les 10 dernières mesures pour calculer la moyenne.

ce que je montre dans le post, ce sont des photos de la table 2li x 10col prises a différents moments. Photo prise quand la température change.

Pour moi c'est un processus qui devrait lisser les artefacts. Malheureusement, le comportement de l'ADC m'échappe. Dans mon setup de test, je m'étonne que mesurer deux fois de suite la même pin donne un résultat différent, et parfois pas qu'un peu.
Je suis habitué que, si je lis deux fois de suite une pin, j'obtiens le même résultat. Je veux bien sur un ADC tolérer un pouillème de différence. Là c'est autre chose.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3098
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » jeu. 12 sept. 2024 11:02

je me penche la dessus pas juste pour la beauté du geste.

J'ai fait quelques évolutions en 6.5.
1. La page web est actuellement auto-rafraichie toutes les 10secondes. C'est cool mais d'une part c'est pas hyper-réactif et d'autre part, cela génère du trafic http inutile quand rien ne change.
On peut faire bcp mieux avec les websockets.
En 6.5, la page est rafraichie dès que quelque chose change. J'appuie sur le bouton poussoir, et hop la page web est instantanément a jour. Une température change, elle est aussitot affichée.
C'est light comme trafic comparé au http, très réactif et économe car si rien ne change, aucun trafic.
Ca fonctionne super bien.

2. Le logging des températures en flash est actuellement fait systématiquement toutes les 3 ou 5 minutes. C'est cool de l'avoir, mais c'est pas très précis pour capturer la dynamique. J'attends de voir des vrais fichiers.
J'ai fait en 6.5 un logging réactif, cad une ligne dans le log seulement quand la température change. Ca permet de suivre + précisément les variations et évite de logger des lignes inutiles quand rien ne change. J'ai ajouté le timestamp et excel sait faire de jolis graphiques avec l'option nuage de points.

C'est formidable mais si la température mesurée change sans arrêt à cause de gros artefacts de mesure, c'est contre productif et je ne m'y attendais pas du tout.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3771
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » jeu. 12 sept. 2024 11:18

L'ADC est multiplexé:
Il commute sur une Pin, lance la conversion puis relâche la Pin. A chaque commutation, il y a un changement d'impédance de la Pin d'où la petite capa pour éviter que la tension mesurée ne change et cela le temps de la mesure.
Je ne connais pas trop l'ADC de l'ESP, mais sur certain µC l'on peut peut programmer une séquence. Par exemple mesurer l'entrée 1 puis la 2 puis la 2 .... et ainsi donner x mesures sans avoir à le faire via le sotware.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3098
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » jeu. 12 sept. 2024 11:32

thierryvalk a écrit :L'ADC est multiplexé:
Il commute sur une Pin, lance la conversion puis relâche la Pin. A chaque commutation, il y a un changement d'impédance de la Pin d'où la petite capa pour éviter que la tension mesurée ne change et cela le temps de la mesure.
Je ne connais pas trop l'ADC de l'ESP, mais sur certain µC l'on peut peut programmer une séquence. Par exemple mesurer l'entrée 1 puis la 2 puis la 2 .... et ainsi donner x mesures sans avoir à le faire via le software.

ah ok. Ca explique pourquoi il y a une différence.
Augmenter la capa de 100nF pourrait aider ?


sur ma carte ESP32-S3, le régulateur 3V3 est un ME6211C33 avec 10µF en sortie. Les 100µF que j'ai rajouté devraient faire une différence ;)
Aucune idée de ce qu'il y a sur l'Upesy Wrover d'Alex.
C'est frustrant de pas savoir comment se comporte le vrai système.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3771
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » jeu. 12 sept. 2024 11:42

C'est frustrant de pas savoir comment se comporte le vrai système.

Oui, mais c'est la contre-partie de la facilité des lib et d'Arduino.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3098
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » jeu. 12 sept. 2024 15:24

thierryvalk a écrit :
C'est frustrant de pas savoir comment se comporte le vrai système.

Oui, mais c'est la contre-partie de la facilité des lib et d'Arduino.
je parlais de ne pas avoir le vrai pcb, les CTN, l'ampli et la carte Upesy a disposition.
Mon environnement de développement est assez différent de l'environnement de "production".

Je l'ai laissé tout seul pendant environ 3H30. J'ai retiré la capacité 100nf entre ADC et GND. C'est plutot mieux.
25 oscillations de température entre 52 et 48° pendant la première 1H30 et depuis il reste stable à 48° depuis près de 2h.
On dirait bien une dérive thermique qui se stabilise au bout d'un moment.
Je vais creuser de ce coté là : l'ESP32 a un capteur de température interne. Vais voir s'il y a une corrélation.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3098
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » jeu. 12 sept. 2024 17:50

alors j'ai la honte :berk1: mais c'est pour une bonne nouvelle.
En fin d'apres-midi j'ai fini par remettre la capa 100nF et je l'ai mise dans des trous différents de la plaque d'essai. Et depuis... c'est beaucoup plus stable :)
Toujours des lecture Adc légèrement différentes et qui ne font plus trop varier la moyenne. Au point que je pensais avoir un autre bug car le log restait désespérément vide :mrgreen:

Bref, c'était chez moi et je me suis pris la tête pour une leçon que je savais déjà : ne pas se fier aux plaques d'essai.

Un fichier log ressemble à ça maintenant (après 5'10" j'ai tourné le potentiomètre) :

Code : Tout sélectionner

Fichier log ouvert le 12/09/24 18:02:22. 
Time,TH1,TH2,TH3,TH4,TH5,TH6,ESP32
00:00:00,48,0,0,48,0,0,36.40
00:05:10,49,0,0,49,0,0,36.40
00:05:12,50,0,0,50,0,0,36.40
00:05:16,51,0,0,51,0,0,36.40
00:05:18,52,0,0,52,0,0,37.40
00:05:20,53,0,0,53,0,0,36.40
00:05:22,54,0,0,54,0,0,37.40
00:05:24,55,0,0,54,0,0,36.40
00:05:26,55,0,0,55,0,0,37.40
00:05:28,56,0,0,56,0,0,37.40
00:19:16,56,0,0,56,0,0,37.40
00:20:56: Fermeture car en SBY depuis 100 sec.

la température de l'ESP32 est indiquée aussi tant qu'a faire.
Le délai de 100secondes est pour mes tests pour que je n'aie pas trop à attendre. En prod, le log continue pendant 20 minutes après mise en Sby.

Je teste encore, mais ça sent bon la livraison de v6.5 ce soir.

GoodNoize
Messages : 863
Enregistré le : mar. 27 nov. 2018 17:18
Localisation : Jura

Re: BLOC 6 voies

Messagepar GoodNoize » ven. 13 sept. 2024 17:34

V6.5 actuellement en betatesting :) :)

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3098
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » ven. 13 sept. 2024 18:10

au fait, la documentation est au format md (markdown)
installe l'extension "markdown Viewer" qui existe pour quasiment tous les browsers. Permet de les lire bien plus a l'aise :super:

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 3098
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: BLOC 6 voies

Messagepar alka » sam. 14 sept. 2024 12:08

un petit mot techno web sur les websockets. J'en ai entendu parler depuis longtemps et jamais eu l'occasion d'essayer. Et maintenant que j'y ai touché, je vois que c'est super simple à faire et super stable.

- En web traditionnel, c'est le client qui démarre chaque transaction, en général par un clic. Le serveur reçoit la requête http, prépare la page html et l'envoie au client qui l'affiche. La logique est dans le serveur. On peut mettre un peu de subtilité avec du javascript coté client mais le principe reste : c'est le client qui lance les débats.
C'est ce qui est fait sur Ampcontroller < 6.5
avantage : web standard simple, quasi tout est coté serveur donc simple à maintenir.
inconvénient : la page affichée ignore ce qui se passe coté serveur et elle affiche des données peut être périmées. Pour contourner, j'ai mis un auto-refresh régulier pour que le client se mette à jour (reload) mais il est quand même toujours en retard. Et si rien ne change, les auto-refresh systématiques créent du trafic http et de la charge serveur inutile.

- En 6.5 j'utilise les websockets, dans une configuration hybride.
Un websocket est un lien permanent établi entre un client et le serveur a la demande du client, en général dès que la page se charge. Le serveur peut recevoir des messages et aussi en envoyer.
En 6.5 quand quelque chose change sur la carte, un ordre de refresh est envoyé aux clients connectés qui rechargent alors la page.
avantage: la page web est a jour quasi instantanément, pas de trafic si rien ne change
Pourquoi hybride ? parce que je ne vais pas au bout du truc. Le serveur se contente d'envoyer l'ordre de refresh et la page se recharge alors intégralement (reload). C'est facile à faire car peu de javascript coté client mais ça coute toujours du trafic http et de la charge serveur.
Un effet secondaire: a chaque reload de la page, la connexion websocket est perdue/recréée. C'est pas grave en soi mais c'est pas le but en principe.

- Les websockets a plein potentiel
Se fait en maintenant la connexion et en échangeant des messages sans quitter la page.
Quand par exemple une température change, le serveur envoie au client par message la nouvelle température. Le javascript côté client analyse le message reçu et affiche la nouvelle température immédiatement. Pas de refresh global de la page, aucune transaction http, tout est hyper réactif.
Pourquoi je n'ai pas fait ? parce qu'il faut refaire toute la logique coté client en javascript. Bien que la page Home ait l'air simple, il y a pas mal d'informations et beaucoup de cas selon les seuils. Je n'ai pas eu le courage et puis l'ESP32 n'est pas débordé par les requêtes http de reload, donc pas indispensable de changer.

ps: si quelqu'un y voit une ressemblance avec mqtt, ce n'est pas fortuit ;) sur ESP32 j'ai entendu dire que l'implémentation de mqtt s'appuie sur les websockets.

GoodNoize
Messages : 863
Enregistré le : mar. 27 nov. 2018 17:18
Localisation : Jura

Re: BLOC 6 voies

Messagepar GoodNoize » jeu. 26 sept. 2024 19:46

Après de nombreux échange avec Alka par mail,
un petit retour suite à l'utilisation des firmware.

L'interface web est top et réactive, le système est super stable.
Pas de déconnection ou de problème d'accès.
Alain a ajouté la mise à jour OTA, le téléchargement de fichiers CSV pour suivit des CTN :amen:

Leger petit beug repéré direct par Gillou Sagem.
Le modification du seuil d'alerte de température "warning" dans la page web n'était pas effective.
Par défault 60° c'est pas assez, ducoup la led en façade clignote.

Sinon, on (Alain) a relevé un problème un peu plus pénible.
Lors du premier export d'un CSV avec démarrage à froid, on vois que la température de départ est de 30°.
Sauf qu'il fait pas 30° chez moi ^^

Après relevé avec mon multimètre et son capteur de T° (une CN) il apparait une différence d'environ 7 degrés pour une valeurs mesurée de 23°(multi)
-> 23° ou le mercure, la sonde de mon poêle à granulé et mon multimètre sont raccord. 3 contre 1 : L'ampli est faux.

Je travaille actuellement sur la demande d'Alain à plusieurs séries de relevés :
- T° mesurées Ampli
- T° Multimetre
- Tension bornes CTN

Le tout avec l'ampli au repos : fait
Température stabilisé en marche : pas facile de tout mesurer quand les valeurs fluctuent
Température haute forcée : sèche cheveu ou ampli devant le poêle.

Voir si c'est toujours le même delta de 7°, si c'est linéaire.

Je manque cruellement de temps en ce moment pour débunker tout ça :/


Je vous met des deux premiers Excel de relevé en PJ.
On voit bien l'inertie thermique de la bestiole
Fichiers joints
Cold start_ musique.csv.xlsx
(41.24 Kio) Téléchargé 519 fois
Cold start_ UP 20 min_ Down 20 min.csv.xlsx
(23.06 Kio) Téléchargé 515 fois


Retourner vers « DSPiy général »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 8 invités