Electromag1 Circuits électroniques et Picaxes

Petit site pour ceux qui bricolent en électronique en général et sur les PICAXES en particulier.
Les PICAXES sont des microprocesseurs (PIC de Microship) programmables en BASIC. Pleins de qualités, pas chers, ultra faciles à programmer.
Tout (ou presque) est sur le site du distributeur Gotronic (voir les liens).
Les pages  seront ajoutées ou modifiées petit à petit.
Dans le but d'améliorer ce blog, communiquez moi vos remarques et les erreurs que vous pouvez constater.
Pour me contacter: Envoyez un mail à l'adresse : mag1mic@free.fr .  Tout message reçoit une réponse
Pour retourner au menu, Cliquer sur "LISTE DES PAGES", ici ou en haut de la colonne de gauche
Pour laisser un message, allez dans le "LIVRE D'OR"
Bonne visite
 
 

Les capteurs de température

LM35 et LM335

lus avec un picaxe


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 afficheur LCD série 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.
 

 

Le LM35: datasheet

Utilisé en général pour mesurer des températures positives, il donne une tension proportionnelle à la température en degrés Celcius à raison de 10mV par degré. Plage de 0 à 100°C pour un LM35D.

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
 

LM 335: datasheet

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,"LM35 = ", #w12,",",#w11," ßC ") ;ß=Alt+0223
        
        ;*********** 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,"LM335= ", #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...
 
 

























 



Créer un site
Créer un site