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

Surveillance de température professionnelle sur Raspberry Pi avec DS18B20

Vue d'ensemble

Le Raspberry Pi est un ordinateur monocarte (SBC) compact conçu par la Raspberry Pi Foundation au Royaume-Uni. Il exécute diverses distributions Linux basées sur ARM et expose un ensemble de broches GPIO permettant la connexion à une large gamme de composants externes comme des capteurs et actionneurs. Comme le Pi ne possède pas de convertisseur analogique-numérique (ADC) intégré, les capteurs de température analogiques comme le TMP36 ne peuvent pas être utilisés directement. À la place, un capteur de température numérique comme le DS18B20 est le choix recommandé pour une mesure de température précise, basée sur une liaison série.

Composants

Conception de base

Configuration matérielle

Le cœur de la configuration comprend le Raspberry Pi, le DS18B20, une résistance de pull-up 4,7 kΩ, un Pi‑Cobbler (ou câblage direct sur breadboard) et des fils de liaison. Tous les composants sont insérés dans la breadboard pour un prototypage rapide et un débogage facile.

Schéma de câblage

Le DS18B20 utilise une interface série à fil unique, permettant à plusieurs capteurs de partager la même ligne de données. Pour Raspbian (ou dérivés) du Raspberry Pi, le capteur apparaît comme un périphérique série une fois les modules noyau appropriés chargés. Le capteur doit être connecté à la broche GPIO 4 (BCM 4), la seule broche supportant le protocole 1‑Wire. Une référence visuelle est disponible dans le guide de configuration DS18B20 d'Adafruit.

Choix du DS18B20

Le DS18B20 est disponible en trois variantes :

Toutes les variantes incluent l'interface 1‑Wire et la logique de conversion de température, fournissant des lectures numériques directement au Pi. Les images Raspbian modernes incluent les pilotes nécessaires, permettant un accès direct via le système de fichiers.

Vérification en ligne de commande

Après le câblage, vérifiez le capteur depuis le terminal :

sudo modprobe w1-gpio
sudo modprobe w1-therm
cd /sys/bus/w1/devices
ls
cd 28-xxxxxxxxxxxx # remplacer par le numéro de série de votre capteur
cat w1_slave

La sortie contiendra une ligne se terminant par YES suivie d'une valeur de température en millièmes de degré Celsius sur la ligne suivante.

Logiciel – Enregistreur basique

Le script Python suivant lit la température chaque seconde et affiche les valeurs sur la sortie standard. Enregistrez-le sous temp_logger_basic.py et exécutez-le avec les privilèges root.

#!/usr/bin/env python3
import os
import glob
import time

# S'assurer que les modules 1-Wire sont chargés
os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')

BASE_DIR = '/sys/bus/w1/devices/'
DEVICE_FOLDER = glob.glob(BASE_DIR + '28*')[0]
DEVICE_FILE = f'{DEVICE_FOLDER}/w1_slave'

def read_temp_raw():
    with open(DEVICE_FILE, 'r') as f:
        return f.readlines()

def read_temp():
    lines = read_temp_raw()
    while lines[0].strip()[-3:] != 'YES':
        time.sleep(0.2)
        lines = read_temp_raw()
    equals_pos = lines[1].find('t=')
    if equals_pos != -1:
        temp_string = lines[1][equals_pos+2:]
        temp_c = float(temp_string) / 1000.0
        temp_f = temp_c * 9.0 / 5.0 + 32.0
        return temp_c, temp_f

while True:
    print(read_temp())
    time.sleep(1)

L'exécution du script produira une sortie similaire à :

(18.875, 65.975)
(18.875, 65.975)
(18.875, 65.975) …

Assurez-vous d'exécuter le script avec sudo python3 temp_logger_basic.py car les fichiers du capteur résident dans un répertoire système protégé.

Conception avancée

Pour une utilisation en production, un shield PCB soudé peut remplacer la breadboard, offrant une solution plus robuste et portable. J'ai fabriqué un shield personnalisé qui se branche directement sur le Pi, enfermé dans un boîtier noir compact. Le logiciel enregistre les relevés chaque heure et les stocke dans une base de données MySQL. Les données sont ensuite visualisées avec Google Charts, offrant une analyse de tendance claire.

Matériel avancé

Tous les composants de la configuration de base sont conservés, plus :

Pour un guide détaillé, référez-vous au guide du capteur de température DS18B20 et à la documentation Raspberry Pi sur le support 1‑Wire.

Processus de fabrication

  1. Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
  2. Profilage température Raspberry Pi précis avec Python, SQLite et LabVIEW
  3. Moniteur réseau température et humidité Raspberry Pi — Guide de configuration DIY
  4. Comment lire la température avec un DS18B20 sur Raspberry Pi 2
  5. Mesure de température sur Raspberry Pi avec capteurs 1‑Wire Maxim et pont I2C DS2482
  6. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  7. Surveillance transparente température et humidité sur Raspberry Pi avec EzTemp
  8. Surveillance précise de la température dans un placard serveur avec Raspberry Pi
  9. Contrôle de température brassage maison DIY : Surveiller et réguler avec Arduino