Thermométre électronique 0 @ 99,5° C. -
Précision 0,5° Celsius
Avec Pic 16F84(A), sonde DS18B20 et affichage sur 2 x afficheurs 7 segments CC
NOUVEAU : Version pour PIC16F88
(avantage : plus besoin du quartz et ses 2 condos...) > link
NOUVEAU : Pour 16F88, sans afficheurs, envoi la
Température en RS232 (sur tout Terminal...) > link
Bienvenue à tous,
j'ai créé cette petite page sans prétention aprés avoir
bien galéré avec l'interfaçage de mon pic 16F84(A) et une sonde de température
numérique Dallas DS18B20.
Vous y trouverez le schéma électronique des différents modules constituants le
thermométre électronique (pic, alimentation, affichage et sonde), le programme en basic
commenté (Mikrobasic), le fichier .hex compilé et prêt à être chargé dans le pic
ainsi que le fichier en assembleur .asm généré par icprog.
Je remercie encore tous les participants du newsgroup fr.sci.electronique qui m'ont permis
de surmonter cette épreuve technologique (de haute technologie) ;O]
La sonde DS18B20, par défaut, envoie la température en dégrés Celsius, codée sur 12
bits, de -55°C @ 127°C, avec une précision de 3 décimales, exemple 37,245°C.
Mais elle peut-être configurée-programmée pour envoyer la température avec une
résolution de 11, 10 ou 9 bits.
Pour ce montage, j'ai choisi, pour commencer, une résolution de 9 bits, sans valeurs
négatives, ni supérieures à 100°C, c.a.d. avec une résolution d'un demi degré, et
affichage sur 2 chiffres et un point, de 0°C à +99,5°C.
La décimale s'affiche sous forme du point aprés le chiffre des unités, si le point
s'allume, ça signifie "+ 0,5 °C "!!!
La sonde, via 3 fils, peut être déportée de l'affichage jusqu'à 60 métres...selon la
documentation du constructeur.
La sonde recalcule la température, et met à jour l'affichage, plus de 10 fois par
seconde.
Pour finir, et pour info, tout est basé sur le programme, l'interfaçage hardware de la
sonde ne de demandant que 3 fils: plus(+) , moins(-) et datas (datas étant le seul pin
connécté au pic). Notamment la définition (9bits), la fréquence de conversions (rapide!!!),
la sortie sur afficheurs (2x7seg.CC)...
Programme que vous êtes libres de modifier, pour par exemple, afficher la t. avec 2
décimales, afficher les températures négatives, affichage sur écran LCD, sur 3 ou 4
aff. 7seg....
Le matériel :
- voir / télécharger
Le schéma :
- voir / télécharger
Le code Basic (pour info, commentaires et modifications) :
- voir / télécharger
Le code compilé .hex (à charger dans le pic) :
- voir / télécharger
Le code compilé .asm (pour info, généré à partir du .hex par icprog)
:
- voir / télécharger
Améliorations futures possibles :
- affichage température négative (-55°C à +99,5°C)
- affichage température supérieures à 99,5°C (-55°C à +127°C)
- mise en paralléle et affichage de plusieurs sondes (jusqu'à 100 selon la doc)
- utilisation des alarmes (haute et basse températures)
- affichage de plus d'une décimale (2 ou 3)
Liens :
> Datasheet DS18B20 : pdf
- Constructeur : Maxim-Dallas
- Samples (*échantillons gratuits) : ici
> Me contacter, posez votre question : ici |