Projet 5 – Activité 5

”Mesure de températures avec une
thermistance CTN

 

 

. Objectif

L’objectif de l’activité est d’écrire un programme généraliste permettant de mesurer une température avec une thermistance CTN dont les grandeurs caractéristiques sont connues.

 

. Rappel

Pour mesurer une température avec une thermistance CTN, il faut connaitre ses grandeurs caractéristiques. Le plus souvent, le constructeur fourni les valeurs suivantes :

– La valeur de sa résistance R0 (résistance nominale en Ω) à la température de référence T0 = 25 °C (298,15 K)

– La valeur de β (en K)

– La plage de température pour laquelle la relation entre la température T (en K) et RT, la résistance (en ohms) de la CTN à cette température, est vérifiée :

 

. Le programme

Le code de l’activité en Python ou en langage Arduino demande, à l’initialisation du programme, de renseigner les valeurs de T0, R0 et β afin de pouvoir calculer la température à partir de la mesure de la résistance de la CTN.

 

. Programme en Python (”Projet5\Activity5\PY\Activity5.py”)


Déroulement du programme
 :

Importation des librairies et définition de fonctions :

. Le module ”ConnectToArduino.py”, contenant les fonctions de connexion à l’Arduino via le protocole ”Firmata Express”,

. Le module PymataExpressDef.Py” regroupant toutes les fonctions utiles à l’utilisation de Pymata-express” (fonction de déclaration des entrées et sorties, de lectures, d’écritures…),

. La bibliothèque time” pour la gestion des temps de pause,

. La bibliothèque math” pour les calculs de température,

. La fonction InputVal” pour saisir les grandeurs caractéristiques de la thermistance.

Déclaration des constantes et variables :

. PinCTN = 5 (cst correspondant au n° de la broche A5 sur laquelle la thermistance est connectée)

. ValCTN = 0 (variable pour stocker la valeur de la broche de la thermistance)

. Temp = 0 (variable correspondant à la température en °C calculée à partir de la valeur de la broche de la thermistance)

. OldTemp = 0 (variable correspondant à la température en °C calculée précédemment)

. Vctn = 0 (variable correspondant à la tension calculée en V de la broche de la thermistance)

. Rt = 0 (variable correspondant à la valeur de la résistance calculée en Ohms de la thermistance)

. TempRef = 0 (variable correspondant à la température de référence de la thermistance)

. Ro = 0 (variable correspondant à la résistance de la thermistance à la température de référence)

. B = 0 (variable correspondant à la grandeur caractéristique β de la thermistance). PinButton = 12 (cst correspondant au n° de la broche sur laquelle le bouton poussoir est connecté)

. ValButton = 0 (variable pour stocker la valeur de l’état logique de la broche du bouton poussoir)

. OldValButton = 0 (variable pour stocker la valeur précédente de l’état logique de la broche du bouton poussoir)

. State=0 (variable correspondant à l’action à effectuer)

. OldState = 0 (variable pour stocker la valeur précédente de la variable state)

. PortComArduino (port COM sur lequel l’Arduino est connecté) 

Connexion à l’Arduino :

. Détection du port COM, tentative d’ouverture du port COM sélectionné et connexion à l’Arduino:

PortComArduino = SelectPortCOM()

board = OpenPortCom(PortComArduino)

. Si la connexion à l’Arduino est réussie :

– Déclaration de la broche de la thermistance en entrée analogique :

Set_AnalogInput_Pin(board, PinCTN)

– Déclaration de la broche du bouton poussoir en entrée numérique :

Set_DigitalInput_Pin(board, PinButton)

– Saisie des grandeurs caractéristiques de la thermistance :

TempRef = InputVal(”Veuillez saisir la température de référence ”,1,100,”°C”)

Ro = InputVal(”Veuillez saisir la valeur de la résistance nominale ”,1,200000,”Ohms”)

B = InputVal(”Veuillez saisir la constante B ”,1,10000,”K”)

Boucle principale du programme (boucle ”while True”) :

 

Résultats dans la fenêtre Python Shell :

 

. Programme en langage Arduino (”Projet5\Activity5\INO\Activity5.ino”)

Le code de l’activité en langage Arduino a déjà été étudié dans la partie:

Activités pour les lycées / Températures / Activité 5