BLOC 6 voies

Discutions générales sur le DSPiy et tout ce qui s'y rattache
Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 3744
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » dim. 29 sept. 2024 18:53

Entre 1 et 2 et un peu au pif.
L’un pourrait faire la conversion en full mais retourner le résultat sur x bits.
L’autre, plus rapide se limiterait à x bits pour la conversion qui est à approximations successives.

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

Re: BLOC 6 voies

Messagepar GoodNoize » dim. 29 sept. 2024 19:07

3,1V au lieu de 3,3 ça change la donne!

Oui,
et peut-etre que chez Sagem c'est un peu plus (+).
Et c'est pour ça que son ampli affiche des T° plus élevées que le mien.

Il y a aussi la Meanwell IRM-05-5 en tête du système.
https://docs.rs-online.com/a777/0900766b815c75b5.pdf
Tolerance +/- 2,5%

Je mesure : 5V01 sur la sortie 5VAux routée sur le PCB

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

Re: BLOC 6 voies

Messagepar alka » dim. 29 sept. 2024 20:07

GoodNoize a écrit :
3,1V au lieu de 3,3 ça change la donne!

Oui,
et peut-etre que chez Sagem c'est un peu plus (+).
Et c'est pour ça que son ampli affiche des T° plus élevées que le mien.
je ne pense pas. Votre hardware est identique, pas de raison que son régulateur soit meilleur. En revanche le Vref de votre ESP32 a toutes les chances d'être différent.
Gilles saura mesurer des tensions et des températures ?

Il y a aussi la Meanwell IRM-05-5 en tête du système.
https://docs.rs-online.com/a777/0900766b815c75b5.pdf
Tolerance +/- 2,5%

Je mesure : 5V01 sur la sortie 5VAux routée sur le PCB

Le 5V est très bien et même si pas terrible, c'est au régulateur 3V3 de faire le job. Manifestement il n'est pas assez bon.
A refaire, je me poserai la question de mettre un régulateur 3V3 séparé pour les CTN, leds, etc..

Pour l'instant je vais m'occuper de pouvoir régler le tien le plus facilement possible. Ensuite on verra pour son clone. A suivre.


@Thierrry: je vais expérimenter avec l'atténuation et le sampling. On verra bien si ça stabilise les lectures dans mon environnement hyper bruité.
Comme au final les températures sont reportées par saut de 1° , il y a déjà une plage de tolérance assez large. Pas sûr que la différence soit perceptible.

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

Re: BLOC 6 voies

Messagepar thierryvalk » dim. 29 sept. 2024 20:32

Je pense qu'il faut garder à l'esprit que le système n'est pas un système de mesure mais un système destiné à gérer la T° d'un ampli.
On n'est même pas à +-5°C vu que la T° max a elle aussi été mise de manière arbitraire.
Car si l'on avait voulu un système de mesure, oui, il fallait une référence de tension (régulateur bien plus précis que ceux utilisés) et idéalement celle de l'ADC pour les dérives en T°.

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

Re: BLOC 6 voies

Messagepar GoodNoize » lun. 30 sept. 2024 11:32

Tu veux dire que le Vref est différent d’un ESP32 à l’autre même si ce sont les même modèles ?

Ce Vref est une valeurs stockée en interne pour « référencer «  l’ADC ?

Thierry les Tmax sont définies suivant datasheet Hypex.
Ce n’est pas si arbitraire que ça.

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

Re: BLOC 6 voies

Messagepar alka » lun. 30 sept. 2024 12:25

GoodNoize a écrit :Tu veux dire que le Vref est différent d’un ESP32 à l’autre même si ce sont les même modèles ? oui. Je n'aurai jamais pensé ça mais c'est bien écrit dans la doc espressif. https://docs.espressif.com/projects/esp ... s/adc.html et chez moi sur deux exemplaires d'ESP32 wroom je vois la différence.

Ce Vref est une valeurs stockée en interne pour « référencer «  l’ADC ? Oui Vref sert de tension de référence dans la cuisine interne de l'Adc. Elle est semble t il mesurée pour chaque chip en usine et mise dans cette mémoire pour qu'on puisse s'en servir. Je fais des tests pour savoir comment utiliser cette info en externe. En v6.6 j'affiche la valeur Vref dans les infos de débug. Vous pourrez voir par vous même la différence entre les deux amplis.

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

Re: BLOC 6 voies

Messagepar alka » lun. 30 sept. 2024 12:32

thierryvalk a écrit :Je pense qu'il faut garder à l'esprit que le système n'est pas un système de mesure mais un système destiné à gérer la T° d'un ampli.
On n'est même pas à +-5°C vu que la T° max a elle aussi été mise de manière arbitraire.
Car si l'on avait voulu un système de mesure, oui, il fallait une référence de tension (régulateur bien plus précis que ceux utilisés) et idéalement celle de l'ADC pour les dérives en T°.

c'est juste. Disons que dès qu'il y a eu une envie d'affichage de la température, ca devient ridicule d'afficher des valeurs fausses de plus de 5°C.
Avec un petit peu de calibration sur le système de base, on arrive à 1 à 2°C de précision sur la plage qui nous interesse. Plutot pas mal.
Le thermomètre permettra de juger de façon un peu plus précise une valeur arbitraire de seuil. C'est toujours comme ça :mrgreen:

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

Re: BLOC 6 voies

Messagepar thierryvalk » lun. 30 sept. 2024 12:37

Thierry les Tmax sont définies suivant datasheet Hypex.
Ce n’est pas si arbitraire que ça.

En page 1:
Il y a déjà l'alim qui se coupe toute seule à +95°
les UCD400 la doc indique +90° max sur le dissipateur et max 65° de température ambiante.

Ils n'ont pas indiqué 92.5°C, ni l'endroit exact de la prise de T° sur le dissipateur.
Si tu as une camera thermique, tu verra qu'il peut y avoir de très gros écarts.

Puis si tu ventile, qu'elle sera la T° de mise en route ?
Au final pas si important que cela, le but principal est que l'ampli ne se mette pas en sécu puis aussi de voir si le ventilateur va refroidir suffisamment.

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

Re: BLOC 6 voies

Messagepar thierryvalk » lun. 30 sept. 2024 12:39

Disons que dès qu'il y a eu une envie d'affichage de la température, ca devient ridicule d'afficher des valeurs fausses de plus de 5°C.

Ridicule oui et non, il suffit de le savoir. Ce qui est bien dans votre travail c'est d'avoir des courbes qui montrent la tendance.

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

Re: BLOC 6 voies

Messagepar alka » lun. 30 sept. 2024 16:27

bah on va quand même essayer de tirer parti au mieux de ce qu'on a.
chez moi c'est bon, maintenant faut trouver comment calibrer les deux vrais amplis et si possible sans avoir à m'envoyer les deux cartes :mrgreen:
On y reviendra mais je raconte dabord où j'en suis.

D'abord mon setup :
Un esp32 wroom avec juste ce qu'il faut pour la CTN. Un potentiomètre qui la remplace quand il faut faire des mesures.
Multimètre branché en permanence pour lire Uc aux bornes de la CTN.
Le firmware AmpController publie sur le port série, a chaque changement de température, la liste des 10 dernières valeurs adc lues, leur moyenne et la température calculée. Ca me donne des lots de données pour analyse.
Le process consiste à faire une lecture adc des 6 pins CTN toutes les deux secondes, puis faire la moyenne glissante sur les 10 dernières mesures pour calculer la température. Ce qui signifie en corolaire qu'il faut attendre environ 20sec pour avoir une température stabilisée.

Mes essais pour limiter les fluctuations pas forcément dans l'ordre :
- en utilisation normale, le 3V3 est chez moi autour de 3.29 à 3.32V . Quand j'uploade par exemple, ça varie énormément et descend à 2.9V.
- parmi les fonctions de paramétrage ADC listées plus haut, plusieurs ont disparu du framework Espressif actuel et ne sont plus disponibles.
- passer de 12bits a 10bits ? j'ai fait des simulations sur un lot de mesures (division entière par 4 puis x4 pour remplacer les deux bits de droite par 00) : ca ne change pas grand chose à la dispersion des résultats.

- l'oversamplig est cité par Espressif comme un moyen de limiter le bruit des mesures. Par défaut, l'ADC lit 1 sample. La fonction analogSetSamples() a disparu. J'ai fait ma propre fonction d'oversampling qui lit n samples a 1ms d'écart.
Pour voir si ça améliore, j'ai calculé l'écart entre min et max de chaque série de 10 p/r à la moyenne. J'ai fait ça sur un lot d'une vingtaine de mesures, le tout au repos a température ambiante.
Avec n=1 (le défaut) la dispersion est de 1% à 5% avec beaucoup de 3% et 4%
Avec n=3, la dispersion baisse significativement. De 1% à 3% avec beaucoup de 2%
Avec n=4, la dispersion baisse encore, de 1% à 2% avec une majorité de 1% et surtout, le nombre de fois où la dispersion provoque un changement de température est drastiquement réduit.
==> ca marche. adopté. La boucle est ralentie de 24ms, ce qui n'est pas perceptible.

Avec l'oversampling, je suppose qu'il serait possible de réduire le nombre de mesures à moyenner en passant de 10 à 6, pour augmenter la réactivité. Comme sur un ampli la température change plutot lentement je ne suis pas tenté.

Je vous ai obligé a lire tout ça :hehe: pour en arriver ici :
en écrivant je suis tombé sur un site Espressif-Arduino qui dit:
analogReadMilliVolts:
This function is used to get ADC raw value for a given pin/ADC channel and convert it to calibrated result in millivolts.
Je l'ai essayée et le résultat semble surprenamment proche de ce que mesure le multimètre.

Comme je n'avais besoin de la valeur ADC que pour déterminer Uc, si on l'a directement c'est tout bénéfice.
Du coup toute nouvelle piste a investiguer.
A suivre.

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

Re: BLOC 6 voies

Messagepar thierryvalk » lun. 30 sept. 2024 16:58

Quand j'uploade par exemple, ça varie énormément et descend à 2.9V.

C'est l'écriture en flash qui consomme beaucoup.
Je pense que j'en avais parlé, une idée serait de limiter l'activité de l'ESP lors d'une lecture de l'ADC ce qui devrait limiter le bruit. Mais pas forcément simple à implanter.

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

Re: BLOC 6 voies

Messagepar alka » lun. 30 sept. 2024 17:26

thierryvalk a écrit :Je pense que j'en avais parlé, une idée serait de limiter l'activité de l'ESP lors d'une lecture de l'ADC ce qui devrait limiter le bruit. Mais pas forcément simple à implanter.

oui tu l'avais signalé et en principe il ne fait pas grand chose pendant les mesures. Moi je le stresse en sollicitant en permanence l'interface web pour faire mes mesures mais en temps normal il n'a quasi rien à faire. (sauf le maintien de la connexion wifi que je ne maitrise pas)

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

Re: BLOC 6 voies

Messagepar GoodNoize » lun. 30 sept. 2024 21:02

Ça devient de plus en plus technique l’affaire !


Comme dis Thierry au final ce que (nous) m’intéresse c’est que l’ampli se coupe s’il chauffe trop.

Pour moi chauffer trop, même si pas assez rigoureux pour Thierry :langue: , c’est pas dépasser 90 degrés avec une CTN entre le dissipateur hypex et celui que j’ai rajouté. Au niveau d’un transistor.

Je comprends l’exercice, si j’avais le bagage je tenterai un truc abouti. :)

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

Re: BLOC 6 voies

Messagepar alka » mar. 1 oct. 2024 11:17

c'est pas plus technique qu'avant. Ca aurait même tendance à se simplifier depuis hier :hehe:
En revanche, oui je découvre, je cherche et je tâtonne en public et ça se voit.

Comme dis Thierry au final ce que (nous) m’intéresse c’est que l’ampli se coupe s’il chauffe trop.

Ca c'est fait! Si ça te convient, tu fais mentalement -6 pour les températures et c'est fini avec v6.5.1

Moi je continue parce ça m'intéresse de comprendre et d'aboutir a quelque chose de correct avec les moyens disponibles le plus simplement possible, et sans être trop technique justement :)

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

Re: BLOC 6 voies

Messagepar thierryvalk » mar. 1 oct. 2024 12:34

Moi je continue parce ça m'intéresse de comprendre et d'aboutir a quelque chose de correct avec les moyens disponibles le plus simplement possible, et sans être trop technique justement :)

:super:

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

Re: BLOC 6 voies

Messagepar alka » mer. 2 oct. 2024 20:22

rapport de stage de l'expérimentateur :)
Pas vraiment de surprise.
J'ai fait un mini programme dédié pour les mesures et joué avec deux ESP32. J'ai laissé de coté l'ESP32-S3 dont l'ADC est différent (et par ailleurs bien amélioré).

J'ai expérimenté deux méthodes: l'ADC avec analogRead() qui donne une valeur entière convertie sur 12bits et analogReadMilliVolts() qui donne directement la tension en millivolts. J'ignore comment ça se passe en interne et ce qui les différencie vraiement.

quelques conclusions:
- l'ADC de l'ESP32 est tout a fait utilisable avec 11dB d'atténuation si on se limite à une plage de tension de 0,5 à 2,5V. Ca revient pour l'ampli à des températures d'environ 15 à 100°C. Il est linéaire sur cette plage.
- On l'assimile à une droite, équation de type y = ax + b. Calibrer, c'est déterminer les coefficients a et b. Sans calibration, ca peut etre très très faux.
- la calibration est idéalement faite en plusieurs points. Avec seulement deux points suffisants en théorique, on se trompe facilement en pratique. J'ai fait avec 5 points et pris la moyenne.
- avec une bonne calibration, on arrive à 1 % d'erreur avec cette méthode ce qui est est plutot pas mal a mon goût.
- l'oversampling des lectures est indispensable. J'ai fait avec 4 samples pour réduire les erreurs de lecture dans mon environnement.
- on peut imaginer calibrer en chauffant la ctn et utiliser un thermomètre en référence. J'ai essayé en plongeant la CTN dans un verre d'eau chaude avec le firmware de l'ampli et c'est plutôt flou. Impossible d'en tirer quelquechose de confiance.

- analogReadMilliVolts : la lecture directe de la tension donne un résultat plutôt correct sans calibration. Erreur jusqu'à 5% mais sur une grande plage plutot 1 à 2% ce qui se traduit par 1 à 3°C d'écart au final et très souvent 1°. Pas si mal.
- la valeur lue par analogReadMilliVolts est systématiquement surévaluée d'une valeur quasi constante sur toute la plage (30mV pour un exemplaire, 52mV pour l'autre). C'est rapporté par au moins un bloggeur donc on peut parier que c'est le cas pour tous les ESP32.
- Plutot facile à calibrer : le multimètre montre la tension sur la pin et mon programme montre ce que l'esp32 lit. Là aussi, faire plusieurs points de mesure et moyenner.
- Avec cette correction, j'arrive à améliorer la précision avec au final 1°C de différence max et la plupart du temps aucune différence avec la température réelle :)

- connaissant le véritables Vref des ESP32 utilisés, je pensais pouvoir trouver un moyen de déduire les coefs de calibration de l'une ou l'autre méthode mais non, rien de probant.
- dans tous les cas, ça reste dépendant de la valeur et stabilité du Vcc (3V3).

Dans l'application ici pour déduire la température, utiliser analogReadMilliVolts() fait gagner une étape et c'est plus précis sans calibrer. Du coup en v6.6 j'emploierai cette méthode en ajoutant dans les settings un paramètre de correction de la tension lue pour ceux qui veulent peaufiner.

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

Re: BLOC 6 voies

Messagepar thierryvalk » mer. 2 oct. 2024 20:47

Voilà qui ressemble à un compromis à la Belge. :mrgreen:

Idée brute qui me vient à cette lecture mais non approfondie.
Pour calibrer uniquement l’ADC, ce serait de générer plusieurs valeurs avec le DAC. C’est simple à mesurer. Peut paraître étrange de calibrer un ADC avec DAC, mais vu que le premier utilise le second c’est peut-être pas si farfelu.

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

Re: BLOC 6 voies

Messagepar alka » jeu. 3 oct. 2024 16:49

pragamatisme :)

Idée brute qui me vient à cette lecture mais non approfondie.
Pour calibrer uniquement l’ADC, ce serait de générer plusieurs valeurs avec le DAC. C’est simple à mesurer. Peut paraître étrange de calibrer un ADC avec DAC, mais vu que le premier utilise le second c’est peut-être pas si farfelu.

c'est une bonne idée et comme souvent avec les bonnes idées, déjà utilisée ;) https://github.com/e-tinkers/esp32-adc- ... me-ov-file
ils génèrent une table de correction a utiliser ensuite dans son programme.
Il y a des limites de précision : chez moi le DAC a 255 sort 3.205V quand Vcc=3.302. Mais c'est sans doute mieux sur la plage qui nous intéresse.

Avec cette technique en branchant un DAC direct sur un ADC, on pourrait trouver automatiquement les coefficients a et b de correction pour assimiler à la droite entre 0,5 et 2,5V. Facile a faire avec la carte disponible et pins libres. Plus casse pied quand la carte déjà câblée au fond d'un ampli.


Retourner vers « DSPiy général »

Qui est en ligne

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