Projet 5 – Activité 4

”Etalonnage d’une thermistance CTN

 

 


Objectif

L’objectif de cette activité est d’étalonner une thermistance dont les grandeurs caractéristiques ne sont pas connues, à l’aide d’un capteur de température TMP 36 ou LM 35.

Pour cela, nous allons faire varier la température et on va demander à l’Arduino de mesurer la résistance de la thermistance en fonction de la température qui sera mesurée en parallèle par le capteur.

On pourra alors tracer la caractéristique résistance = f(température) qui permettra après de mesurer n’importe quelle température avec cette thermistance grâce à la mesure de sa résistance.


Le programme

Voici le code de l’activité en Python et en langage Arduino.

. Programme en Python (”Projet5\Activity4\PY\Activity4.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.

Déclaration des constantes et variables :

. PinTMP = 0 (cst correspondant au n° de la broche A0 sur laquelle le capteur de température TMP 36 est connecté)

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

. ValTMP = 0 (variable pour stocker la valeur de la broche du capteur de température)

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

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

. OldTempTMP = 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)

. Rctn = 0 (variable correspondant à la valeur de la résistance calculée en Ohms 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 du capteur de température en entrée analogique :

Set_AnalogInput_Pin(board, PinTMP)

– 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)

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


Résultats dans la fenêtre Python Shell :




. Programme en langage Arduino (”Projet5\Activity4\INO\Activity4.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é 4



. Exploitation des mesures

L’exploitation des mesures a également déjà été étudiée dans la partie:

Activités pour les lycées / Températures / Activité 4 / Exploitation des mesures