Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Professionelle Temperaturüberwachung mit Raspberry Pi und DS18B20

Überblick

Der Raspberry Pi ist ein kompakter Einplatinencomputer (SBC), der von der Raspberry Pi Foundation in Großbritannien entwickelt wurde. Er führt verschiedene ARM-basierte Linux-Distributionen aus und stellt GPIO-Pins bereit, um eine Vielzahl externer Komponenten wie Sensoren und Aktoren anzuschließen. Da der Pi keinen integrierten Analog-Digital-Wandler (ADC) besitzt, können analoge Temperatursensoren wie der TMP36 nicht direkt verwendet werden. Stattdessen ist ein digitaler Temperatursensor wie der DS18B20 die empfohlene Wahl für präzise, serielle Temperaturmessungen.

Benötigte Komponenten

Grundlegendes Design

Hardware-Aufbau

Der Kern des Aufbaus besteht aus dem Raspberry Pi, dem DS18B20, einem 4,7 kΩ Pull-Up-Widerstand, einem Pi-Cobbler (oder direkter Breadboard-Verkabelung) und Jumper-Kabeln. Alle Komponenten werden in das Breadboard gesteckt, um schnelles Prototyping und einfaches Debugging zu ermöglichen.

Verkabelungsdiagramm

Der DS18B20 nutzt eine Single-Wire-Serienschnittstelle, die es ermöglicht, mehrere Sensoren an derselben Datenleitung zu betreiben. Unter Raspberry Pi OS (ehemals Raspbian) und Derivaten erscheint der Sensor als serielles Gerät, sobald die entsprechenden Kernel-Module geladen sind. Der Sensor muss an GPIO-Pin 4 (BCM 4) angeschlossen werden, den einzigen Pin, der das 1-Wire-Protokoll unterstützt. Eine visuelle Referenz finden Sie im Adafruit DS18B20 Setup Guide.

Auswahl des DS18B20

Der DS18B20 ist in drei Varianten erhältlich:

Alle Varianten beinhalten die 1-Wire-Schnittstelle und die Temperaturumwandlungslogik und liefern digitale Messwerte direkt an den Pi. Moderne Raspberry Pi OS Images enthalten die notwendigen Treiber, was einen einfachen Zugriff über das Dateisystem ermöglicht.

Kommandozeilen-Verifikation

Nach der Verkabelung kann der Sensor im Terminal verifiziert werden:

sudo modprobe w1-gpio
sudo modprobe w1-therm
cd /sys/bus/w1/devices
ls
cd 28-xxxxxxxxxxxx # Ersetzen Sie dies durch die Seriennummer Ihres Sensors
cat w1_slave

Die Ausgabe enthält eine mit YES endende Zeile, gefolgt von einem Temperaturwert in Tausendstel Grad Celsius in der nächsten Zeile.

Software – Basis-Logger

Das folgende Python-Skript liest die Temperatur jede Sekunde und gibt die Werte auf der Standardausgabe aus. Speichern Sie es als temp_logger_basic.py und führen Sie es mit Root-Rechten aus.

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

# Sicherstellen, dass die 1-Wire-Module geladen sind
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)

Die Ausführung des Skripts erzeugt eine Ausgabe ähnlich wie:

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

Stellen Sie sicher, dass das Skript mit sudo python3 temp_logger_basic.py ausgeführt wird, da die Sensordateien in einem geschützten Systemverzeichnis liegen.

Erweitertes Design

Für den produktiven Einsatz kann eine gelötete PCB-Shield-Platine das Breadboard ersetzen und eine robustere, tragbarere Lösung bieten. Ich habe ein benutzerdefiniertes Shield gefertigt, das direkt in den Pi gesteckt wird und in einem kompakten schwarzen Gehäuse untergebracht ist. Die Software protokolliert die Messwerte stündlich und speichert sie in einer MySQL-Datenbank. Die Daten werden anschließend mit Google Charts visualisiert und bieten eine klare Trendanalyse.

Erweiterte Hardware

Zusätzlich zu allen Komponenten des Basis-Setups werden benötigt:

Für eine detaillierte Anleitung verweisen wir auf den DS18B20 Temperatursensor Guide und die Raspberry Pi Dokumentation zur 1-Wire-Unterstützung.

Herstellungsprozess

  1. Raspberry Pi Temperaturlogger mit 5 $ I2C Sensor bauen
  2. Präzises Raspberry Pi Temperaturprofiling mit Python, SQLite und LabVIEW
  3. Raspberry Pi Temperatur- & Feuchtigkeits-Netzwerkmonitor – DIY Setup Guide
  4. Temperatur mit DS18B20 am Raspberry Pi 2 auslesen
  5. Temperaturmessung mit Maxim 1-Wire Sensoren und DS2482 I2C-Bridge am Raspberry Pi
  6. Fern-Temperatursensor mit Raspberry Pi & Python bauen – Schritt-für-Schritt-Anleitung
  7. Nahtlose Temperatur- & Feuchtigkeitsüberwachung am Raspberry Pi mit EzTemp
  8. Präzise Temperaturüberwachung im Server-Schrank mit Raspberry Pi
  9. DIY Heimbrau-Temperaturregelung: Überwachen & Steuern mit Arduino
  10. Raspberry Pi BMP085: Präzise Temperatur- & Druckmessung via I2C