Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Capteur de température 1 fil DS1820 au Raspberry Pi (GPIO directement)

Pour mesurer la température intérieure ou extérieure avec le Raspberry Pi, il existe plusieurs possibilités. Cet article décrit la version avec la quantité minimale de composants externes. Ceci est basé sur le capteur de température DS18S20 et l'émulation logicielle du protocole à 1 fil.

Le DS18S20 et les DS18B20 et DS1822 associés sont des circuits intégrés dans un boîtier TO-92 contenant le capteur de température, le convertisseur analogique-numérique et l'interface 1 fil. Les types mentionnés sont compatibles avec les broches et les logiciels, ils diffèrent considérablement par la précision de la mesure et le prix. Les trois connecteurs (voir image à gauche) sont la masse (GND, broche 1), les données (DQ broche 2) et la tension de fonctionnement (VDD , broche3). Vous pouvez connecter VDD et GND et faire fonctionner le capteur avec une alimentation parasite de 3 à 5 volts. La connexion du circuit avec l'ordinateur est alors possible avec un simple câble à paire torsadée à deux fils.

A ce câble - le bus 1 fil - vous pouvez connecter plusieurs DS1820 en parallèle. Chaque capteur a un code unique attribué par le fabricant pour s'identifier.

Raspberry Pi et 1 fil

La mesure de température avec le Raspberry Pi et le capteur de température 1 fil DS1820 contient une liste de différentes manières de piloter un bus 1 fil depuis le Raspberry Pi. Cet article décrit la solution (1) avec le moins de circuits externes. En plus des capteurs, vous n'avez besoin que d'une seule résistance, car cette solution simule complètement le protocole à 1 fil dans le logiciel.

Une seule résistance

Le port de données DQ du DS1820 est connecté directement au port GPIO4 de l'interface GPIO du Raspberry Pi. GND et VDD sont à la borne de terre GND. L'alimentation parasite a réalisé une résistance de rappel de 4k7 entre la connexion 3,3 volts 3V3 et GPIO4.

La résistance, un connecteur femelle pour la fixation au port GPIO et la connexion à 1 fil sont soudés à une petite planche à pain, qui se trouve directement sur le port GPIO. La connexion 1 fil peut être réalisée avec un connecteur femelle coudé peu encombrant. Tout cela rentre dans le boîtier TEK-BERRY du Raspberry Pi.

pilotes logiciels 1-wire

Les modules du noyau nécessaires à l'activation du capteur de température 1 fil font partie de la distribution Linux Raspbian « wheezy ». Vous devez cependant les charger explicitement :

sudo modprobe w1-gpio pullup=1sudo modprobe w1-therm

Le paramètre pullup =1 est important , qui indique au module qu'une alimentation parasite via une résistance de rappel est présente. Les modules créent un sous-répertoire pour chaque capteur situé juste en dessous de /sys/bus/w1/devices. Le nom du répertoire est composé du Code Famille du capteur et de son numéro d'identification unique. Les capteurs de type DS1820 et DS18S20 ont le code de famille 10, DS18B20 a le code 28 et DS1822 le 22. Dans chaque sous-répertoire se trouve le fichier w1_slave contenant l'état du capteur et la valeur de température mesurée :

cd /sys/bus/w1/devicescd 10-000801b5*cat w1_slave0f 00 4b 46 ff ff 06 10 0c :crc=0c YES0f 00 4b 46 ff ff 06 10 0c t=7375  

Le fichier se compose de deux lignes, chacune contenant le vidage du registre hexadécimal du circuit intégré du capteur. A la fin de la première ligne se trouve la somme de contrôle (CRC) et l'information s'il s'agit d'une lecture valide (OUI). La deuxième ligne se termine par la lecture de la température en millièmes de degré Celsius. Dans l'exemple, la température est donc de 7,375 °C. La précision à trois chiffres après la virgule n'est bien entendu qu'apparente; la fiche technique du DS18S20 indique, par exemple, que la précision de la mesure n'est que de ± 0,5° C. La température réelle est donc de 6,8 à 7,9° C.

Si tout fonctionne jusqu'à présent, vous devez entrer les deux modules requis dans le fichier /etc/modules pour qu'ils se chargent automatiquement au démarrage :

# /etc/modulesw1-gpio pullup=1w1-therm

RRDtool de base de données Round Robin

Pour un enregistrement à long terme des lectures de température et une génération confortable de graphiques, l'utilisation de RRDtool est recommandée. Les articles Acquisition de données météo avec l'USB WDE1 et Mesure de température avec le Raspberry Pi (USB-série) expliquent cet outil en détail.

Vous devez d'abord installer RRDtool à l'aide du gestionnaire de paquets sur le Raspberry Pi :

sudo apt-get install rrdtool python-rrdtool

Le deuxième package installé python-rrdtool est une interface Python vers RRDtool, qui est utilisée plus tard. Au début du travail avec RRDtool se trouve la définition de la base de données. L'exemple suivant crée une base de données pour deux capteurs de température temp0 et temp1 . L'objectif est de stocker une valeur par quart d'heure (900 secondes). Après dix jours (=960 valeurs), une réduction a lieu à une valeur moyenne, minimale et maximale par jour. La durée de conservation de ces valeurs journalières est de dix ans (=3600 valeurs) :

rrdtool create temperature.rrd --step 900 \DS:temp0:GAUGE:1200:-40:80 \DS:temp1:GAUGE:1200:-40:80 \RRA:AVERAGE:0.5 :1:960 \RRA:MIN:0.5:96:3600 \RRA:MAX:0.5:96:3600 \RRA:AVERAGE:0.5:96:3600

Acquisition de données avec Python

Un script Python lit les fichiers spéciaux w1_slave et insère les valeurs de température dans la base de données round-robin :

Pour plus de détails :Capteur de température 1 fil DS1820 au Raspberry Pi (GPIO directement)


Processus de fabrication

  1. Enregistreur de température Raspberry Pi
  2. Mesure des températures avec un capteur DS18B20 1 fil et Raspberry Pi
  3. Lire la température avec DS18B20 | Raspberry Pi 2
  4. Surveillance de la température sur le Raspberry Pi
  5. Mesure de la température avec RASPBERRY PI
  6. Bibliothèque Python du capteur de température TMP006 utilisant Raspberry pi,
  7. Capteur de température Python et Raspberry Pi
  8. Station météo Raspberry Pi
  9. Contrôle de la température avec Raspberry Pi