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