U = (R+Rctn).i et Uctn =Rctn.i d'où Uctn = U. Rctn / (R+Rctn)
Uctn . (R+Rctn) = U . Rctn
Uctn . R + Uctn . Rctn = U . Rctn
Uctn . R = U . Rctn - Uctn . Rctn
Uctn . R = (U - Uctn ). Rctn
La conversion analogique numérique sur 10 bits : $2^{10}$=1024 donne
U | N |
---|---|
5.0 | 1024 |
Il vient Uctn = 5,0.Nctn /1024
5,0 . Nctn / 1024 . R = (5,0 - 5,0 . Nctn / 1024 . R ). Rctn
soit en divisant par 3,3 et en multipliant par 1024
Nctn. R = (1024 -Nctn . R ). Rctn
from math import log as ln
A = 0.0009131577435290704 # coefficients Steinhart-Hart de la thermistance de 47k
B = 0.0002144210475986645 # doc technique ou calcul à partir de 3 mesures
C = 1.0773792283999106e-07
Rserie=47000
def calcule_Temperature(Nmes) :
Resistance = Nmes*Rserie/(1024-Nmes)
Temp = ln(Resistance) # sauver le log de la résistance mesurée
Temp = 1 / (A + (B * Temp) + (C * Temp * Temp * Temp));
Temp = Temp - 273.15; # Kelvin -> Celsius
return Temp;
N =int(input("N mesuré ?")) #entre 0 et 1023
T=calcule_Temperature(N)
print('T =' f' {T: .0f}'' °C') #fstring à partir de python 3.7
/----- VARIABLES ---------------------------------------------
int CTN = A0; // Sonde de température CTN entre A0 et 5V
float Rserie = 47000; // valeur Résistance entre A0 et GND
// caractérisation de la thermistance de 47k
float A = 0.0009131577435290704; // coefficients Steinhart-Hart de la thermistance de 47k
float B = 0.0002144210475986645; // doc technique ou calcul à partir de 3 mesures
float C = 1.0773792283999106e-07;
//---calcul de la température avec la relation de Steinhart-Hart----
float Thermistor(int Nmes) {
long Resistance;
float Temp; // Dual-Purpose variable to save space.
Resistance = Nmes*Rserie/(1024-Nmes)
Temp = log(Resistance); // sauver le log de la résistance mesurée
Temp = 1 / (A + (B * Temp) + (C * Temp * Temp * Temp));
Temp = Temp - 273.15; // Kelvin -> Celsius
return Temp;
}
void setup(void) {
Serial.begin(9600)
//--------------- BOUCLE PRINCIPALE -----------------------------
void loop() {
int LECTURE = analogRead(CTN); // Lecture de la valeur de la CTN
float Celsius = Thermistor(LECTURE); // Conversion de la valeur lue en température
Serial.println(Celsius)
}
from math import log as ln
Rserie=47000
# modélisation de la courbe T=f(Req)= a* Req +b
a = -0.00309
b =84.8
def calcule_Temperature(Nmes) :
Resistance = Nmes*Rserie/(1024-Nmes)
Temp = a*Resistance+b
return Temp;
N =int(input("N mesuré ?")) #entre 0 et 1023
T=calcule_Temperature(N)
print('T =' f' {T: .0f}'' °C') #fstring à partir de python 3.7
/----- VARIABLES ---------------------------------------------
int CTN = A0; // Sonde de température CTN entre A0 et 5V
float Rserie = 47000; // valeur Résistance entre A0 et GND
// modélisation de la courbe T=f(Req)= a* Req +b
float a = -0.00309
float b =84.8
//---calcul de la température avec la relation de Steinhart-Hart----
float Thermistor(int Nmes) {
long Resistance;
float Temp;
Resistance = Nmes*Rserie/(1024-Nmes)
//le calcul de la température est plus adapté à un élève de seconde lorsqu on a linéarisé la CTN
Temp = a*Resistance+b
return Temp;
}
void setup(void) {
Serial.begin(9600)
//--------------- BOUCLE PRINCIPALE -----------------------------
void loop() {
int LECTURE = analogRead(CTN); // Lecture de la valeur de la CTN
float Celsius = Thermistor(LECTURE); // Conversion de la valeur lue en température
Serial.println(Celsius)
}