Ces capteurs sont des classiques abondamment abordés sur les forums d'électronique.
En analogique, ils sont souvent associés à des amplis en tension et en courant. Voici un projet qui ne comporte qu'un µC picaxe 08M2 et un
pour lire le résultat.
Le schéma de test: il regroupe les deux capteurs et utilisent le même programme.
Une erreur sur ce schéma: Après programmation, la broche C5 doit être reliée au 0V, sinon, ça fonctionne pas.
Pour le LM35, nous utiliserons un ADC, mais il faut le configurer.
Normalement, l'ADC 10 bits divise la tension d'alimentation en 1024 paliers, de 0 à 1023. Mais les tensions délivrées par les LM35 et 335 sont indépendantes de cette alimentation, il faut donc que la tension de référence de l'ADC le soit aussi.
Il y a trois références internes disponibles dans ces picaxes: 1,024v, 2,048v et 4,096v (si la tension d'alim le permet).
Pour le LM35D, la référence de 1,024 v est toute désignée. La lecture par l'ADC donne directement la mesure de la température avec une résolution de 0,1°C
Uttilisé pour mesurer des températures positives et négatives, il donne une tension proportionnelle à la température en degrés Kelvin à raison de 10mV par degré.
La valeur de 0°C est égale à 273,15°K. A cette température, la tension délivrée est donc de 2,7315 V.
Il faut choisir cette fois une tension de référence ADC de 4,096 V. Pour explorer cette plage, il faut multiplier la valeur de l'ADC (de 0 à 1023) par 4, la résolution est alors de 0,004V et une seule valeur sur 4 est accessible:
Ex : 500 sur l'ADC donne 2,000 V et 501 donne 2,004 V, les valeurs intermédiaires ne s'afficheront jamais.
Mais si, au lieu de multiplier par 4, on additionne 4 mesures successives, on stabilise la mesure et on retrouve une résolution de 0,001 V soit 0,1°C.
Sur cette photo, le picaxe est a côté de la led verte allumée, en haut à gauche.
Oui, mais, après stabiisation, il a fallu enlever 2°C sur le LM35 et ajuster le LM335
(je sais pas pourquoi j'ai mis des TL partout..., c'est corrigé)
Précision:
Je pense qu'en règle générale, toute sonde doit être calibrée pour atteindre la précision annoncée. Ces sondes ne font pas exception. Par rapport à mon thermomètre étalon (vérifié dans la glace fondante et l'eau bouillante), Le LM35 affiche au moins 1 ° de plus (on peut ajuster par soft). Le LM335 a son potentiomètre de calibration (un 25T si on veut être précis), on lui fait afficher ce que l'on veut.
Le LM35 semble plus sensible à l'auto-échauffement (la température baisse en brassant l'air, le LM335 reste stable).
Les mesures de températures sont toujours délicates sans un environnement adéquat.
Le code:
;test LM35 LM335
#picaxe 08M2
#no_data
symbol baud= T2400_4
serout C.0,baud,( 254,1,254,1)
adcconfig %011
pause 500
do
;********* test LM35 ***********
FVRsetup FVR1024 ;LM35 lecture de 0 à 1,024 v
w10=0
for b1=1 to 5
readadc10 C.4, w13
w10=w10+w13
next
w10=w10/5-20 ;-20 pour calibration
w12=w10/10
w11=w10//10
serout C.0,baud,( 254,128,"TL35 = ", #w12,",",#w11," ßC ")
;*********** test lm335 *******************
w10=0
FVRsetup FVR4096 ;LM 335 :lecture de 0 à 4,096 V
for b1=1 to 4
readadc10 C.1,w13
w10=w10+w13
next
if w10>=2731 then ; 0 °C= 2,731
w10=w10-2731
endif
w12=w10/10
w11=w10//10
serout C.0,baud,( 254,192,"TL335= ", #w12,",",#w11," ßC ")
pause 1000
loop
Avec le simulateur de PE6, et traitement des valeurs négatives sur le LM335: Remarque: Le caractère ß (alt+0223) donne un ° sur un LCD, et "ça" sur le simulateur...