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 : 3771
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: BLOC 6 voies

Messagepar thierryvalk » ven. 28 juin 2024 22:21

Ne touche pas au hardware.
Tu pourrais jouer sur la résistance fixe du pont vu que sa valeur réelle est aussi fonction de l’impédance d’entrée de l’ADC.

Si tu veux calibrer, le plus élégant pour moi est d’avoir simplement une valeur pouvant être ajoutée au résultat et une autre comme coefficient de multiplication.
Et cela bien séparé de ta formule question dans le futur de savoir qui fait quoi.

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. 28 juin 2024 23:45

a ben oui ! formule pas bonne !!!
je me sens stupide de ne pas l'avoir remarqué depuis le début. Je perd mes réflexes !
juste une vérification aux limites: tension aux bornes de le CTN nulle=>température infinie et pas -273°C comme la formule.
Formule a l'envers qui correspond pas au hardware qu'on avait. A revoir. C'est mon challenge maintenant de trouver la bonne formule et claquer le bec de chatgpt!

C'est dur d'etre précis car tout est imprécis : l'ADC est loin d'être parfait ni linéaire,l'impédance interne des ADC devrait être négligeable mais elle influe peut être quand même*, chaque CTN est un peu différente, et j'en oublie surement.
comme Thierry: c'est mieux d'avoir une formule qui convient au hardware et y appliquer un correctif ensuite. Bien sur, si ce correctif est trouvable ! Si c'est un décalage de la courbe en + ou en - c'est facile.

La précision implique d'avoir la courbe réelle de la CTN selon la t°et comparer avec la formule pour trouver le correctif à appliquer. Le faire juste sur une température c'est risqué de passer à coté. Il y a des chances d'ailleurs que le correctif soit différent pour chaque CTN.

Sinon, l'autre solution c'est de mesurer la CTN et établir une table de correspondances Rth selon t° autour des températures qui t'intéressent. Par exemple, si tu penses couper à 60°C, la table aurait 20 valeurs, une par degré de 45 à 65°C. Alors on peut oublier la formule. C'est du temps à passer pour établir la table mais t'es sur d'être dans le réel.

Ma seule expérience de CTN était pour protéger un ampli. Je n'ai pas cherché a mesurer précisément la température mais juste à protéger l'ampli. La seule valeur qui m'intéressait était sa résistance à la valeur du seuil de coupure, cad 55°C. Beaucoup plus facile.

* l'impédance d'entrée est de plusieurs dizaines de Mega, donc vraiment négligeable dans nos calculs.

EDIT: formule correcte avec les étapes

I) c'est la formule de référence des CTN qui donne Rth selon T, avec T en °K

II) on inverse I) pour avoir T selon Rth

au III) on s'intéresse maintenant à Uth, la tension aux bornes de la CTN

III a) c'est la lecture de Uth par l'ADC de l'ESP32 qui retourne une valeur ADC de 0 à 4095 (sur 12bits) de la tension entre 0 et 3.1V. (note: en fait ce soit de 0.2 à 3.1V)
III b) c'est Uth exprimée selon le diviseur Rth/Rs

IV) on rapproche III a) et b) et on obtient Rth en fonction de ADC

V) pour simplifier la lecture, on pose la valeur intermédiaire z = Rth/R0. On prend Rth de IV) ce qui nous donne z selon ADC.

VI) dans II) on remplace Rth/R0 par z et on obtient T en fonction de z, cad T selon ADC.
cqfd.

VII) pour finir, on passe en °C, et voilà.

formules (remplacer 4096 par 4095)
Image

programme en C qui fait le calcul

https://onlinegdb.com/LrSBhGyYJN

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

Re: BLOC 6 voies

Messagepar GoodNoize » sam. 29 juin 2024 07:57

La table j'ai déjà celle du constructeur :
Image

A vérifier mais ça doit pas être bien loin de la vérité. Sur le papier c'est 1%.

On dois bien pouvoir stocker ces valeurs, puis faire une "recherche verticale" pour renvoyer la température en degrés.
Au final c'est plus simple, on vire pas mal de variable (beta, RT0, T0 etc...)
On peut simplifier la table, jouer sur les intervalles (précision variable).
Par exemple : 0, 5, 10, 15, 20, 22,5, 25, 27,5, 30 ....,80,81,82,83,84,85

// Tableau de correspondance résistance/température
const float R_Values[] = {10.0, 8.05, 7.39, 4.35}; // résistances en Kohms
const float T_Values[] = {25.0, 30.0, 32.0, 45.0}; // températures en °C

// lecture tension CTN
// conversion en Résistance
// chercher valeur la plus proche dans le tableau R_Values
// renvoyer la température associée T_Values

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 » sam. 29 juin 2024 08:37

Voici la formule préconisée par expressif pour corriger l’ADC
y = coeff_a * x + coeff_b
Il faut au minimum 2 mesures pour déterminer les coeff.
J’ai lu qu’ils conseillent aussi pour limiter les erreurs de mettre une capa de 100nF en // sur l’entrée.

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 » sam. 29 juin 2024 10:05

Quelques considérations sur l'ADC :
L'ESP32 dispose de 2 ADC, chaque ADC ayant via un multiplexeurs plusieurs entrées analogiques.
Pour une conversion, on va donc sélectionner l'entrée puis lancer la séquence de conversion et attendre sa fin pour retourner une mesure.
Niveau impédance d'entrée, on a donc l'impédance lorsque l'entrée n'est pas sélectionnée, lorsqu'elle est sélectionnée et enfin lors de la séquence de conversion.
Tout cela reste très haut, pas d'inquiétudes, mais une petite capa est tout de même bien utile.
Pour sa valeur, tout dépend de la fréquence max du signal que l'on veut mesurer. Dans notre cas, pas de contraintes, c'est hyper lent. Les 100nF préconisés sont biens.

On est en analogique avec des impédances relativement élevées, il faut donc faire attention à l'environnement tout comme en audio.
On peut se prendre du 100Hz, 50hz mais aussi l'un ou l'autre glitch.
Cela peut être très embêtant, en audio c'est audible, ici crée des mesures erronées.

Pour limiter cela, le sur-échantillonnage est une bonne pratique.
Le principe est simple, au lieu de faire une mesure et d'évaluer son résultat, on va faire différentes mesures, calculer la moyenne et seulement évaluer cette moyenne.
On fait du filtrage passe-bas, on crée une latence mais l'on a une mesure bien plus fiable.

Pas de panique c'est pas bien compliqué à implanter.
Faut juste quelques lignes de code en plus. :mrgreen:

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. 29 juin 2024 11:16

je suis en train de refaire la formule correcte. elle est dans ma tete, juste besoin d'un peu de temps pour l'écrire, implémenter et tester. Je ne promets pas ce we un peu chargé pour moi.

oui absolument pour la capa 100nF et aussi pour moyenner. C'est indispensable et se voit sur l'exemple que j'ai publié plus haut : lecture en séquence de 6 fois la même pin et 6 résultats (un peu) différents !
Faudra aussi mettre dans le code un peu de tests de cohérence. Par exemple, si une mesure se met a différer trop des autres ou si sur une CTN les mesures varient trop vite ou trop. Ca va encore rallonger le code mais pour de bonnes raisons :)

@alex: tu peux m'envoyer le lien vers le simulateur de ton constructeur avec la ref exacte de la CTN retenue.

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

Re: BLOC 6 voies

Messagepar GoodNoize » sam. 29 juin 2024 12:31

Pas d'urgence ;)

La petite capa elle serait en série en entrée d'ADC donc ?

La CTN :
https://fr.farnell.com/eaton-bussmann/n ... dp/4133842
NRG2104F3435B2F :
Oeillet M3 / 10k / 1% tol. / beta 3435 / beta 25/85 / 1% tol. beta

J'ai fais un Excel avec les données du datasheet.
Je n'arrive toujours pas à insérer des PJ.
https://www.icloud.com/iclouddrive/0960 ... _DATASHEET

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 » sam. 29 juin 2024 13:50

Je n'arrive toujours pas à insérer des PJ.

Je m'en occupe de suite.

edit : voila qui devrait être en ordre.

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. 29 juin 2024 14:28

j'ai bon pour les formules mais.... avant d'aller plus loin, je vois un souci plutot ennuyeux :

en comparant la formule standard des CTN avec les données de l'excel d'Alex, il y a une belle cohérence autour de 25°C mais ça dévie vite ensuite. Sur sur la plage qui nous intéresse de 40 à 60°C, la différence va jusqu'à 20%. C'est trop!

En bleu la Rth calculée par la formule. En orange les données datasheet d'un certain GNZ et en gris la différence

Image

Si on ne peut pas se fier à la formule, ça oblige à passer par des tables (je ne vois pas comment trouver la formule de la courbe grise sur une plage aussi large !)
@Alex : tu pourrais faire quelques points de mesure de Rth des différentes CTN a quelques températures (disons 25°C, 40°C, 50°C, 60°C) en les plongeant dans de l'eau chaude. Ca permettrait de comparer avec les données datasheet.

Si c'est fiable, j'importe la table datasheet dans le programme. Sinon, faudra me trouver des données fiables.
Je pars sur l'idée d'une table de 60 valeurs de 15 à 75°C, intervalle 1°. Ca me parait largement suffisant. OK ?
en espérant que ce soit une table unique et pas une table par CTN !

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

Re: BLOC 6 voies

Messagepar GoodNoize » sam. 29 juin 2024 19:37

Je m'en occupe en se moment, j'ai retoruvé un vrai thermometre. Qui m'avais servis a faire un brassin de bière :mrgreen:
Maintenant il étalonne des CTN :hehe:

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

Re: BLOC 6 voies

Messagepar GoodNoize » sam. 29 juin 2024 21:40

A prendre avec des grosses pincettes,
il em faut un vrai thermoetre je vais essayer de trouver ça.

23° // 10K95
29° // 9K20
32° // 7K73
40° // 5K90
50° // 4K20
55 // 3K6
67° // 2K5

Même si je fais des erreurs de lecture et que mon thermomètre est dans les choux, on vois que l'écart est de plus en plus conséquent :(

Demain je tente un autre protocole avec d'autre outils et plusieurs CTN voir ce qu'il se passe.
LE but c'est surtout de couper l'ampli si TH_max est atteins. Si c'est trop le bazar de mesurer dessous : tempis? Je calibre pour 80 °

Sinon voici les deux copains, prêt a recevoir l'ordre de s'allumer :) :) :)

IMG_1806.JPEG
IMG_1810.JPEG

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 » sam. 29 juin 2024 22:00

J’ai pas vraiment tout compris sur le problème de la formule, mais il y a ceci à partir de 3 points de mesure.
https://fr.m.wikipedia.org/wiki/Relatio ... nhart-Hart

Attention tout de même que l’on ne mesure pas une résistance, mais la tension d’un diviseur de tension sans source de courant.

Sinon, la table fonctionne bien et pas besoin d’une résolution très faible.
De mémoire, avec un peu de math simple + table on arrive à un truc très correct.

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 » sam. 29 juin 2024 22:08

Reste toujours les solutions digitales en I2C ou bus 1 fil.
L’intégration mécanique est plus compliquée quoi que pour le 1 fil c’est un simple boîtier TO92.

louisr
Messages : 468
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: BLOC 6 voies

Messagepar louisr » sam. 29 juin 2024 22:51

En solution simple à utiliser, il y a aussi le LM35 en TO92 ou TO220 mais qui ne permet pas (simplement) de mesurer en dessous de 2°C.
La tension de sortie du LM35 est directement proportionnelle à la température, + 10-mV/°C.
Niveau code c'est "quasi-direct" par rapport à l'I2C ou 1-fil, mais c'est 3fils par capteur !

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

Re: BLOC 6 voies

Messagepar GoodNoize » dim. 30 juin 2024 06:54

Oui Thierry le gars sur la vidéo YouTube explique bien tout ça.
Il y a la formule S-H classique en 3 points qui aurait une précision de 0,2% de -50 à 200deg
Ça implique d’avoir un thermomètre de référence.

Le monsieur propose un autre modèle dis « modèle du beta » qui se base sur les données constructeurs.
Qui aurai une précision de 1% de 0 à 100deg.
Je suis partis la dessus pour le côté simple et suffisant.

La méthode à 3 points mérite d’etre essayée avant de passer à un autre capteur...
Ça je peux faire :)
IMG_1813.jpeg

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 » dim. 30 juin 2024 16:58

faut pas non plus se prendre la tête : si le but est de faire un appareil de mesure de la température précis de 15 à 90°C avec un chiffre après la virgule, c'est un projet en soi.

Là il s'agit de couper l'ampli si un seuil est dépassé. Seuil à 80°C selon Alex.
Si la coupure se passe à 78°C ou 83°C c'est pas bien grave.

Pour résumer, on a trois ensembles de données (4 en fait)
1) la formule de référence des CTN
1b) la formule 1 avec une correction (ou carrément une autre formule. Chatgpt est très fort pour proposer une équation qui matche un ensemble de données)
2) les données datasheet
3) les mesures réelles.

J'ai tout mis dans un seul excel. Le graphe que j'ai montré plus haut montre que la formule (1) et datasheet (2) sont différents.
Mais on y voit aussi sur la courbe grise que si on se contente de la plage 45 à 90°C la différence est une constante (courbe grise plate). Super facile de faire la formule de correction pour avoir un 1b qui matche 2.

Les récentes mesures rapides d'Alex montrent que 3 est sacrément différent de la datasheet (2) ! 30% de différence à 67°C.
Mais ses mesures sont fichtrement proche de la formule 1 !! 4% de différence au max.
Traduit en erreur sur la température, c'est 65°C calculé au lieu de 67°C mesuré. Rien de significatif pour nous.
Selon les mesures d'Alex la formule de base 1 sans aucune est plutot fiable! Si ca se confirme sur davantage de mesures et sur plusieurs CTN ce serait parfait.

@Alex : c'est difficile de mesurer une température précise de manière fiable sur une aussi grande plage avec les appareils de mesure qu'on a disponibles pour un quidam qui n'a pas accès a un labo de physique.
J'avais utilisé la sonde de mon multimètre corroboré par un thermomètre de cuisine (le genre qu'on pique dans le gigot pour voir si c'est cuit ;). Les deux se suivaient à 1°C près jusqu'à mon seuil de 55°C.

Pour synthétiser, je fais une proposition:
- abandonner l'idée de faire de ce projet un thermomètre de labo !
- Faire davantage de mesures réelles sur plusieurs CTN pour valider si la formule est fiable ou quelle correction appliquer ou s'il faut vraiment partir sur des tables de mesures réelles (qui seront longues à établir)
- le chiffre de t° affiché sur l'interface web sera une température indicative
on affichera plutot un code visuel :
- t° < 40°C : blanc. RAS
- 40 < t° < 60° : vert. Normal
- 60 < t° < 80° : orange. warning
- t°C > 80°: rouge. On coupe et le redémarrage sera autorisé quand t° < 70°C
(tous ces seuils sont indicatifs et seront affinés selon des mesures réelles d'Alex sur ses amplis en fonctionnement lors des tests. D'ailleurs on aura l'air bête d'avoir écrit autant de pages sur le forum si la température en fonctionnement reste très loin du seuil :mrgreen:

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 » dim. 30 juin 2024 17:12

Le LM35 est aussi un bon candidat, c’est linéaire et c’est une source de tension.

Je trouve aussi que mesurer la T° n'est pas forcément nécessaire. Quoi que c'est logique.
Par contre vu que le but est de protéger, une T° absolue mesurée en un point du refroidisseur n'est qu'approximation vu que c'est la T° de jonction des transistors qui est critique.
Il peut être intéressant d'évaluer la vitesse à laquelle la T° monte.
Si problème, elle pourrait monter rapidement et dans ce cas les 80°C pas efficaces pour une bonne protection.
En fait c'est un peu comme les fusible magnéto-thermique.

Sinon vu que Wikipedia donne du code pour calculer les coefficient, le voici en "exécutable", suffit de cliquer sur le petit bouton Play
https://colab.research.google.com/drive/1nblKLlWjG8BrxhC9_aJHHOYLzkEuelsK?usp=sharing

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

Re: BLOC 6 voies

Messagepar GoodNoize » dim. 30 juin 2024 19:40

D'ailleurs on aura l'air bête d'avoir écrit autant de pages sur le forum si la température en fonctionnement reste très loin du seuil :mrgreen:

alors ça oui :gene: Mais quand même. 6 amplis dans une boite en refroidissement passif.. Je serais rassuré d'avoir une protection.
Hier j'ai testé ça drive du 15 et du 18 sans broncher ces petites bêtes :o Va savoir ce que Sagem va en faire de ce bloc :diable: :mrgreen:

Ma propo :
J'ai un peu de scrupules après tout le boulot que vous avez fait, mais effectivement il y a un moment ou on peut largement simplifier le CDC.
Une seule valeur de CTN "fiable" ou RTh est mesurée. Et on fait du binaire (je n'y avais pas pensé, sinon j'aurais direct proposé ça)
Hypex indique 90° pour le "heat sink temperature". Je suppose la plaque alu. C'est là que j'ai boulonné la CTN.
Au vu de cette valeur de 90° ça me semble sécuritaire de couper à 80/85°.

De fait, la liaison wifi n'a peut-être même pas lieu d'être (il y a l'état de la LED), vu qu'on est sur du binaire "dessous seuil, dessus seuil". ça simplifie le code.
Sauf pour le kiff bien sûr :)
On se retrouve plus ou moins avec le code V2 d'Alain sur le topic ESP32, avec une condition en plus.

Les récentes mesures rapides d'Alex montrent que 3 est sacrément différent de la datasheet (2) ! 30% de différence à 67°C.

J'ai mis les mesures dans excel aussi, c'est assez dingue ! C'est pour ça que sur le coup j'ai douté de mes mesures. Comment ça peut être autant dans les choux.

Faire davantage de mesures réelles sur plusieurs CTN pour valider si la formule est fiable ou quelle correction appliquer ou s'il faut vraiment partir sur des tables de mesures réelles

A température ambiante, les 12 CTN on là même résistance. En fait ça doit être optimisé pour travailler dans cette plage.
A tester en montant en température voir si les valeurs restent identiques.

thierryvalk a écrit :Le LM35 est aussi un bon candidat, c’est linéaire et c’est une source de tension.

C'est tellement propre le montage actuel à œillet

thierryvalk a écrit :T° de jonction des transistors qui est critique.

Yep, après comme dit plus haut Hypex indique pour la température sur le dissipateur.


Retourner vers « DSPiy général »

Qui est en ligne

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