P2E-TMP36-FR

De MCHobby - Wiki
Révision datée du 28 janvier 2025 à 22:38 par Admin (discussion | contributions) (→‎Un problème?)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

Introduction

Les capteurs de températures existent sous de très nombreuses formes. Certains sont prévu pour une utilisateur en milieu alimentaire, d'autres pour le milieu industriel et enfin quelques autres pour un usage générale. Les plages de températures dépendent aussi du modèle et du type d'application.

Les capteurs de températures les plus facile à utiliser sont analogiques car la tension de sortie est proportionnelle à la température et être lue directement avec une entrée analogique.

L'image ci-dessous présente un TMP36 et ainsi que son brochage.

TMP36-pinout.jpg

  • La masse (à droite),
  • La sortie analogique (au center),
  • L' alimentation (2.7 à 5.5V, à gauche).

Le TMP36 permet de mesurer une température entre -50°C et 125°C. La tension de sortie varie de 10 millivolts par degrés pour le TMP36 et commence à 500mV pour 0°C.

Le graphique ci-dessous explicite la relation entre la température et la tension de sortie du TMP36 (courbe B pour 3.3V).

TMP36-Graph.png

La formule :

Temp in °C = ( output_voltage_in_mV - 500) / 10

Donc, pour une tension de exactement 1 volt (1000 mV) nous devrions calculer la température suivante:

temp = (1000 - 500)/10 = 50 °C.

Capteur de température du Pico-2-Explorer

Le Pico-2-Explorer propose le capteur de température TMP36 dans sa section analogique.

P2E-TMP36-10.png

Cas pratique

L'exemple ci-dessous se propose de relever la valeur de la tension du TMP36 sur du convertisseur analogique et de calculer la température en °C.

Branchement simplifié

Dans cet exemple, nous allons brancher la photo-résistance (notée LDR) sur l'entrée analogique A1 (GP27) pour lire la valeur sur le convertisseur analogique.

La LED rouge est branchée sur la broche GP20, tandis que la LED verte est branchée sur GP21. Ces broches sont configurées en sortie.

  • La LED verte s'allume dès que la température atteint ou dépasse 19°C mais reste inférieure à 25°C
  • La LED rouge s'allume dès que la température atteint ou dépasse 25°C (cas où la LED verte doit s'éteindre). C'est un bon indicateur signifiant qu'il faut aérer la pièce pour la rafraîchir.

P2E-TMP36-20.png

Remarque: Si vous n'êtes pas encore familiarisé avec l'utilisation des entrées analogiques alors vous pouvez consulter le tutoriel sur les entrées analogiques.

Code

Le code ci-dessous peut être saisi dans une session REPL ou dans Thonny IDE.

Cet exemple est également disponible dans le dépôt analog-tmp36.py .

 1 from machine import Pin, ADC
 2 import time
 3 
 4 # Désactive PowerSafe (lower ripple)
 5 Pin( 23, Pin.OUT, value=True )
 6 a1 = ADC( Pin( Pin.board.GP27 ) )
 7 red = Pin( Pin.board.GP20, Pin.OUT )
 8 green = Pin( Pin.board.GP21, Pin.OUT )
 9 
10 def calc_temp( millivolts ):
11     return (millivolts-500)/10
12 
13 while True:
14     val = 0
15     for i in range( 10 ):
16         val += a1.read_u16()
17     val = val/10
18 
19     mv = 3300*val/65535
20     temp = calc_temp( mv )
21     print( 'adc=%5i , mv=%5i, temp=%2.2f °C' % (val, mv, temp) )
22     
23     green.value( 19<=temp<25 )
24     red.value( temp>= 25 )
25             
26     time.sleep_ms( 300 )

Il ne reste plus qu'a tester la capteur. Il est possible d'augmenter la température en pinçant le capteur entre ses deux doigts. Le mouiller avec un peu d'alcool (isopropylique ou désinfectant) abaissera sa température tandis que l'alcool s'évaporera en emportant des calories.

Le script affiche quelques informations utiles durant son fonctionnement:

  • adc: valeur obtenue sur le convertisseur ADC (entre 0 et 65535).
  • mv: tension équivalente exprimée en millivolts.
  • temp : la température en degrés Celcius.

P2E-TMP36-25.png

Voici quelques explications concernant le script:

  • Ligne 5: Désactive le mode d'économie d'énergie du régulateur (pour diminuer le bruit d'alimentation).
  • Lignes 7 et 8: déclaration des variables red et green correspondant respectivement au LEDs rouges et vertes.
  • Lignes 10 et 11: définition de la clac_temp() qui converti une tension (en milliVolts) en température en suivant la formule décrite plus haut.
  • Ligne 13: boucle infinie (se répète sans fin).
  • Lignes 14 à 17: acquisition sur le convertisseur analogique/numérique (broche GP27) en calculant la moyenne de 10 acquisitions.
  • Lignes 19 à 20: conversion de la valeur ADC en tension analogiques (en millivolts) puis conversion en température par l'appel de la fonction calc_temp()
  • Ligne 23: Allumer la LED verte si la température est comprise entre 19 et 25 °C (25° exclus mais 19°C inclus).
  • Ligne 24: La LED rouge est allumée lorsque la température atteint et dépasse 25°C

Il est également possible de visualiser ces informations sous forme de graphique.

Un problème?

Pas de changement de valeur pour "adc=" ?

  1. vérifier le raccordement entre GP27 et le capteur de température
  2. Vérifier la déclaration de la broche a1 dans le script

Le défi

Utiliser le potentiomètre GP26 (entrée analogique a0) et l'utiliser pour fixer la température supérieure tmax (celle correspondant à la température de 25°C dans le script).

La température inférieures tmin est calculée avec tmin=tmax-6 .

Le potentiomètre sert donc de consigne.

Encore plus

Brancher un TMP36

Voici comment brancher un capteur de température TMP36, sans oublier d'apporter la masse et la tension d'alimentation nécessaire. Le circuit est accompagné de deux condensateurs destiné à lisser et filtrer la tension d 'alimentation.

Pour sa part, les LEDs sont équipée d'une résistance afin de limiter le courant.

P2E-TMP36-wiring-2.png

Autres tutoriels

Ce wiki contient d'autres exemples autour de l'acquisition analogique.

Photo-résistance

Tlogo-p2e-lde.png

Détecter la présence de lumière et la luminosité générale avec ce capteur analogique

Entrée Analogique

Tlogo-p2e-analog-input.png

Comment utiliser une entrée analogique

 


Traduction augmentée réalisée par Meurisse. D pour shop.MCHobby.be - Licence CC-BY-SA.


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.