Les capteurs de température sont des outils indispensables pour surveiller et contrôler les conditions environnementales. Le capteur de température « One-Wire » série DS1820 est un capteur de température très populaire et polyvalent qui offre une précision et une fiabilité exceptionnelles. Il est facile à installer et à utiliser et peut être utilisé dans une variété d’applications. Dans cet article, nous examinerons en détail les caractéristiques et les avantages du capteur de température « One-Wire » série DS1820 et discuterons de la façon dont il peut être utilisé pour surveiller et contrôler les conditions environnementales.
Capteur de température « One-Wire » série DS1820

La description sur cette page concerne le modèle DS18B20.
- Disponible ici (2 euros) : http://www.watterott.com/en/DS18B20
- Fiche technique : http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf
- La librairie Arduino One Wire pour capteur DS18B20
1. Description
- peu cher (2 Euros)
- qui réalise en interne la conversion analogique numérique
- peut être connecté simplement sur 2 fils (technique dite One-wire)
- qui réalise une mesure de température sur la plage -55°C à + 125°C sans composant supplémentaire (polyvalent donc…)
- qui renvoie le résultat de la mesure sous forme de données série sur 12 bits (précision de 0.0625°C)
- plusieurs capteurs peuvent être utilisés simultanément sur les 2 mêmes fils grâce à un système d’adressage de chaque capteur qui possède une adresse unique (64 bits ROM soit 8 octets). A noter que l’octet de poids faible contient le code du type de composant.

Structure des 64 bits d’adresse
- ce capteur est tolérant semble-t-il à des connexions filaires assez longues…
- la durée d’une mesure est de 750ms
- fournit une alarme programmable (via registres Th et Tl qui sont stockables en EEPROM)
- Fournit une fonction de contrôle de validité des données transmises via le bus, appelée CRC. Cette fonction de contrôle sera utilisée soit pour tester la validité de l’adresse de l’élément One Wire, soit pour tester le résultat d’une mesure. Le résultat de la fonction CRC sera ainsi disponible :
- dans les 8 bits de poids fort des 64 bits d’adresse
- dans le 9 ème octet de la RAM pour les résultats de mesures.
Pour plus d’infos sur le Calcul de Redondance Cyclique (CRC) voir : http://fr.wikipedia.org/wiki/Contr%C3%B4le_de_redondance_cyclique

Les registres de résultat de la mesure sur 12 bits

schéma interne du capteur DS18B20
Ce capteur comporte également une mémoire interne, une logique de communication, etc… C’est un capteur de température assez évolué… un vrai petit bijou de technologie contenu dans une tête d’allumette et tout çà pour 2 euros… !

Mémoire interne du capteur DS18B20

Le registre de configuration du DS18B20

Correspondance entre résultat 12 bits et mesure réalisée

Les instructions d’accès à la RAM du DS18B20
A distinguer :
- le jeu d’instruction d’accès à la RAM
- le jeu d’instruction d’accès à la ROM
2. Caractéristiques électriques
Ce capteur :
- doit être alimenté entre 3.3 et 5.5V
3. Brochage
Ce capteur présente 3 broches :
- le +5V (Vdd)
- le 0V ou masse (GND)
- la broche de communication série « One-wire » entrée/sortie (DQ) : cette broche est de type « drain ouvert » et devra être connectée au plus par une résistance de 4,7 K.

4. Principe de fonctionnement
Ce capteur peut être alimenté de 2 façons :
On peut l’utiliser de façon classique avec 3 fils :
-
- GND au 0V
- Vdd au 5V
- DQ vers une broche numérique du circuit numérique de commande, avec une résistance de rappel au +

On peut l’utiliser également avec seulement 2 fils grâce à un ingénieux système d’alimentation par la broche de données (un condensateur interne se charge et assure l’alimentation du CI lorsque la ligne est à 0V…) :
-
- GND et Vdd au 0V
- DQ vers une broche numérique du circuit numérique de commande, avec une résistance de rappel au +

Dans tous les cas, il faudra connecter la broche DQ au +5V via une résistance de rappel au plus (4,7K conseillée). Cette résistance pourra être commune à plusieurs capteurs connectée sur la même broche numérique.
5. Mise en oeuvre et programmation
La communication avec ce capteur passe par l’utilisation d’une librairie dédiée. Voir : La librairie Arduino One Wire pour capteur DS18B20
6. Liens et ressources utiles :
- http://www.pjrc.com/teensy/td_libs_OneWire.html (la meilleure page et la bonne librairie.. )
- http://milesburton.com/index.php?title=Dallas_Temperature_Control_Library
- http://www.arduino.cc/playground/Learning/OneWire
- http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf
7. Pages du site utilisant ce capteur :
8. Avantages /Inconvénients
8.1 Avantages :
- Coût réduit
- Précision 0,0625°C sur 12 bits
- Connexion de plusieurs capteurs sur 1 seule broche
- Bonne tolérance au câblage un peu long…
8.2 Inconvénients :
- Relative complexité de mise en oeuvre…encore que, une fois compris c’est simple.
- +/- Temps de mesure de 1 seconde… Utiliser interruption à intervalle régulier…
8.3 Au final :
- Un composant fiable, précis et très pratique !
Articles similaires:
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoExpertCapteursComplexes
- Capteur de température analogique LM 35
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ATELIERSCommunicationSerie1wire
- Surveillance de température et alarme pour Aquarium eau chaude
- Technologie One Wire (ou « 1-wire »)
Articles Liés
- Technologie One Wire (ou "1-wire")
La technologie One Wire (ou "1-wire") est une technologie de communication sans fil qui permet…
- Thermomètre de précision basé sur un capteur de température One-wire de type DS18B20 (affichage série USB)
Le DS18B20 est un capteur de température à un fil très précis qui peut être…
- Capteur de température analogique LM 35
Le capteur de température analogique LM 35 est un dispositif de mesure de température très…