Capteur de température TMP36 SEN10988 pour module CUBLOC
- Rupture de stock
Capteur de température "TMP36" en boîtier TO-92 (à souder sur circuit imprimé ou à enficher sur une plaque sans soudure type Breadboard). Plage de mesure: -40 °C à +125 °C. Sortie analogique.
Caractéristiques:
- Tension d'entrée: 2,7 à 5,5 Vcc
- 10 mV/°C
- Précision: ±2°C
- Linéarité: 0,5°C
- Plage d'utilisation: -40°C à +125°C
Exemple d'application avec un module CUBLOC
Horloge / Thermomètre / Datalogger
Présentation:
Cette application montre comment s'interfacer avec un capteur de température "TMP36" afin de réaliser un thermomètre avec fonction datalogger sur écran graphique.
Matériel nécessaire:
- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A)
- 1 capteur de température "TMP-36" (réf.: SEN-10988)
- Afficheur graphique 128 x 64 pixels (réf.: GHA-126A)
Câblage de l'application:
Description du programme:
Ce programme va afficher la température ambiante ainsi que l'heure sur un écran graphique (lequel est spécialement conçu pour les modules "CUBLOC"). L'écran va également afficher une représentation graphique de l'évolution de la température en temps réel (toutes les secondes).
Concernant l'heure, à ce jour seul les modules CUBLOC "CB290" et "CB405RT" intègrent une "vraie" horloge temps réelle (bénéficiant d'une stabilisation très précise grâce à l'utilisation d'un composant dédié embarqué). Il est toutefois possible d'utiliser les timers Internes des autres modules CUBLOC (y compris le "CB210") afin de disposer d'une fonction horloge (laquelle sera néanmoins un peu moins précise (prévoir une dérive possible < 1% par 24 h) ... mais laquelle sera suffisante dans de nombreux cas. C'est cette solution que nous avons retenue. Il sera toutefois nécessaire de tester cycliquement la valeur du registre des heures afin de le remettre à zéro lors du passage au delà des 24h.
Concernant la mesure de température, nous avons utilisé un capteur de type "TMP36", lequel délivre une tension dont la variation est proportionelle à la température (10 mV / °C). Cette variation étant très faible, il en résulte que le capteur est très sensible à toutes perturbations électriques et radioélectriques externes (les valeurs retournées seront alors fausées ou fluctuantes). Il conviendra donc de câbler ce dernier au plus près du CB210 (et si possible d'utiliser un condensateur de découplage additionnel - non présent dans notre note d'application). La tension en sortie du capteur est calculable via la formule: Tension = (Temp/100) + 0,5. On en déduit que la température mesurée sera Temp = (Tension - 0,5) x 100. Notre programme va calculer la tension issue de l'entrée de conversion "A/N" du "CB210" en prenant en compte que 1 unitée retournée par le convertisseur "A/N" correspondra à une tension de 5/1023 V (5 étant la tension de référence du convertisseur et 1023 la résolution de conversion du convertisseur). Nous avons arrondi cette valeur à 0.004882 et l'avons appliquée dans la formule donnée ci-avant.
Le programme va ensuite (environ toutes les secondes) afficher la variation de la valeur de la température sur un axe horizontal (le positionnement du pixel correspondant à la valeur de la température). Lorsque la courbe arrive complètement à droite de l'écran, l'affichage est réitinialisé pour qu'une nouvelle courbe puisse être tracée.
Code source:
'###############################################################
' Datalogger temperature a base de TMP36
' @Lextronic 2012 - 11/06/2012 - version Cubloc Studio 3.3.4
'
' Programme donne a titre d'exemple. A utiliser dans le cadre d'une initiation aux modules CUBLOC
' (l utilisation commerciale de ce programme est interdite). Lextronic decline toute responsabilite en
' cas de prejudice resultant de l'utilisation de cette note d'application.
'###############################################################
Const Device = CB210 ' Initialisation de modele de Cubloc
Dim TMP36 As Integer ' Registre recuperation entre analogique
Dim Temperature As Single ' Registre calcul temperature
Dim x As Byte ' Registre position courbe
Delay 300 ' Tempo RAZ mise sous tension
Set Display 1, 0, 0, 50 ' Declaration afficheur
Delay 300
Light 1 ' Activation retroeclairage
Delay 100
Font 1,1 ' Selection grand caracteres
Timeset 10,00 ' Initialise les secondes a 0
Timeset 11,00 ' Initialise les minutes a 0
Timeset 12,10 ' Initialise l'heure a 10
Gosub RazEcran ' Presentation de l ecran
Do
TMP36 = Tadin (0) ' Recupere tension du TMP36
Temperature = ((TMP36 * 0.004882)-0.50)*100 ' Calcule la temperature
TMP36 = Temperature ' Transfert Registre Single -> Integer
If Time(12)=24 Then Timeset 12,00 ' Passage 23h59 a 00h00
Locate 0,0 ' Affiche la temperature
Print dec02 TMP36
Locate 11,0 ' Afficheur heure et minute
Print Dp(Time(12),2,1),":",Dp(Time(11),2,1)
Delay 1000
Pset x, 62 - TMP36 ' Place un point sur le graphe
x = x + 1 ' Incremente coordonnee du graphe
If x = 128 Then Gosub RazEcran ' Si on arrive au bout du gaphe -> RAZ ecran
Loop
RazEcran: ' Initialise l ecran
Cls ' Efface l'ecran
Delay 300
Locate 3,0 ' Affiche le C de Celcius
Print "C"
Line 0, 63, 127, 63 ' Trace axe x
Line 0, 28, 0, 63 ' Trace axe y
x = 1 ' Initialise coordonee courbe
Delay 500
Return
Voir toutes les notes d'applications pour le module "CB210"