View  Edit  Attributes  History  Attach  Print  Search

ACCUEIL | ARDUINO > S'INSTALLER > DEBUTER > APPROFONDIR | PROCESSING | MECATRONIQUE | MATERIEL | OUTILS | TESTS | Plus...|
Python > Shell > ATELIERS Python + Qt > PyQt apps > PyQt+Arduino | Mes Robots | RepRap | Mes lib'Arduino | Mes shields Arduino | Mes distros | Les Mini-PC |
ATELIERS ARDUINO| VIDEOS | COMPRENDRE | REFERENCES | CODER | TECHNIQUE | GNU/LINUX | LIENS | Rien à voir |

Capteur de température "One-Wire" série DS1820


La description sur cette page concerne le modèle DS18B20.

1.  Description

Il s'agit d'un capteur de température :

  • 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 :

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 !