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 |
---|---|
3.3 | 1024 |
Il vient Uctn = 3,3.Nctn /1024
3,3 . Nctn / 1024 . R = (3,3 - 3,3 . 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
from microbit import *
from math import log as ln
#----- VARIABLES ---------------------------------------------
Rserie = 47000 # valeur Résistance entre A0 et GND
# caractérisation de la thermistance de 47k
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
#---calcul de la température avec la relation de Steinhart-Hart----
def Thermistor(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
#--------------- BOUCLE PRINCIPALE -----------------------------
while True:
lecture=pin2.read_analog() # Lecture de la valeur de la CTN
print(lecture)
Celsius = Thermistor(lecture) # Conversion de la valeur lue en température
print(str(round(Celsius)) + ' C')
display.show("T="+str(round(Celsius))+" C", delay=500, loop=True, wait=False)
sleep(1000);
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
from microbit import *
#----- VARIABLES ---------------------------------------------
Rserie = 47000 # valeur Résistance entre A0 et GND
# modélisation de la courbe T=f(Req)= a* Req +b
a = -0.00309
b =84.8
#---calcul de la température -----------------------------------
def Thermistor(Nmes) :
Resistance = Nmes*Rserie/(1024-Nmes)
Temp =a*Resistance+b
return Temp
#--------------- BOUCLE PRINCIPALE -----------------------------
while True:
lecture=pin2.read_analog() # Lecture de la valeur de la CTN
print(lecture)
Celsius = Thermistor(lecture) # Conversion de la valeur lue en température
print(str(round(Celsius)) + ' C')
display.show("T="+str(round(Celsius))+" C", delay=500, loop=True, wait=False)
sleep(1000);