Nous allons tout d'abord vous dire comment nous avons eu la réponse a notre question. Au début nous ne savions pas comment nous pouvions avoir notre réponse a ce thème... Après plusieurs recherche sur internet nous avions pas grand chose Notre professeur est venu nous demander ce qu'on avait à lui présenter et nous n'avions.....rien. Il nous a dit d'aller demander a un élève de TS1. Nous avons demandé a un élève de TS1 « comment dans son programme a t-il fait pour faire ses conversions » et voilà sa réponse...
Programme de « conversion » de données hexa à temp.
Le programme de « conversion » complet est réalisé grâce au langage de programmation : Python 3,1.
La version actuelle « tourne » en fenêtre console de Windows mais la prochaine version comportera sa propre interface graphique. Les données à convertir sont des données hexadécimales sur 1 octet qui vont ensuite se convertir en une température en degré Celsius.
Les données sont récupérées par un microcontrôleur (PIC 16F 690) auquel on aura branché sur l'une de ses entrées une thermistance (CTN). Le microcontrôleur a été programmé pour relever la température toutes les 10 minutes, et de faire une moyenne de 6 mesures par heure, soit 168 valeurs par semaines.
Ces valeurs vont ensuite être écrites dans la mémoire interne du microcontrôleur (EEPROM). C'est cette mémoire qui va ensuite être exportée vers l'ordinateur pour analyser puis convertir les valeurs.
L'intégralité de la mémoire est exportée dans un fichée hexadécimal (.hex) ; il suffit alors de décomposer les 256 « cases mémoire » et ainsi les analyser 1 par 1. Une valeur hexadécimal sera ici toujours composé d'1 octet.
Par exemple 07,A8,S9,BF,S3,FF etc.
Les valeurs récupérées sont en réalité « la tension de la CTN ». Celle ci à une tension pouvant aller de Umin à Umax. Or un « octet » (entier de 8 bits) peut aller de la valeur 0 (0000 0000) à 255 (1111 1111).
Comme le microcontrôleur enregistre la valeur de la tension, lorsqu'il écrit 0, cela correspond à Umin (0,23V) et FF(255) à Umax(0,701V).
L'évolution des valeurs entre les 2 « extrêmes » (0,23 et 0,701) est une droite sous la forme y=ax+b (affine)
Pour connaître le coefficient directeur ?
On s'aide des points A et B : A(0;0,23) B(255;0,701)
a = (yb – ya) / (xb – xa) = (Umax – Umin) / 255 = (0,701 – 0,23) / 255 = 1,494,10- 3.
Et pour l'ordonnée à l'origine, on reprend la valeur de Umin : b = Umin = 0,23
Où x est la valeur hexadécimale et y est alors la tension de la CTN
Par exemple pour une valeur kexa de 123 : Uctn = 1,494,10-3 * 123+0,23 Uctn = 0,414V
Pour obtenir ensuite la valeur de la résistance de la CTN (ce qui est indispensable pour avoir la valeur de la température). On va utiliser la relation suivante :
Uctn = Ictn* Rctn <-> Rctn = Uctn / Rctn
avec Uctn en Volt ; Rctn en Ohm et Ictn en Ampère
où ici Ictn est constante et est réglée à une valeur de Ictn = 3,4.10-6A et Uctn calculée précédemment.
Dans l 'exemple :
Rctn = (Uctn) / (Ictn) = (0,414) / (3,4.10-6) = 1,22.105 ohm
or nous voulons la valeur en k ohm soit : Rctn 1,22.102 kohm
Une fois la valeur de la résistance obtenue, nous allons pouvoir retrouver la valeur de la température.
Pour cela, nous avons utilisé les données par le constructeur ainsi que les mesures réalisées par les MPS pour les mettre dans un tableau Excel et en utilisant une fonction du logiciel, nous avons pu avoir une fonction qui nous donne la valeur de la résistance en ohm.
Cette fonction est une fonction polynomiale de degrés 6
y = 1,33.10-14x6 – 3,03.10-11x5 + 2,81.10-8x4 - 1,37.10-5x3 + 3,87.10-3x2 - 6,77.10-1x + 65,3
où ici y est alors la température en degré Celsius et x est la valeur de la résistance.
La fonction donnée est ici très simplifiée (seulement 3 chiffres significatifs)
Dans l'exemple :
T= 1,33.10-14*(1,22.10°2)6 - 3,03.10-11*(1,22.10°2)5 + 2,81.10-8*(1,22.10°2)4 - 1,37.10-5*(1,22.10°2)3 + 3,87.10-3*(1,22.10°2)2 - 6,77.10-1*1,22.10°2 + 65,3
T=23°C
Nous obtenons enfin la valeur de la température.
Cette valeur sera ensuite exportée avec les 255 autres valeurs dans un fichier .txt pour pouvoir être analysées puis étudiées avec Excel.
L'avantage d'utiliser un programme informatique st que cette conversion se fait de manière quasi-instantanée. (l'ordinateur est capable d'effectuer 256 conversions en moins de 5 secondes) De plus l'ordinateur utilise les vraies valeurs non arrondies.
Car ici ; toutes les valeurs qui ont été utilisées sont des approximations qui donnent des résultats FAUX ou au moins incorrect. Par exemple, avec des vraies valeurs arrondies à 10-10 sur l'ordinateur, avec une valeur hexa de 7B,on a environ 123 ->Uctn = 0,457V → Rctn=134,5 khom-> T=18,7°C.
Il faut plus se fier aux valeurs de l'ordinateur.