Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Sensor suhu 1-kawat DS1820 di Raspberry Pi (langsung GPIO)

Untuk mengukur suhu dalam atau luar ruangan dengan Raspberry Pi, ada beberapa kemungkinan. Artikel ini menjelaskan versi dengan jumlah minimal komponen eksternal. Ini didasarkan pada sensor suhu DS18S20 dan emulasi perangkat lunak dari protokol 1-kawat.

DS18S20 dan DS18B20 dan DS1822 terkait adalah sirkuit terintegrasi dalam housing TO-92 yang berisi sensor suhu, konverter analog-ke-digital, dan antarmuka 1-kawat. Jenis yang disebutkan adalah pin dan perangkat lunak yang kompatibel, mereka berbeda secara substansial dalam akurasi dan harga pengukuran. Tiga konektor (lihat gambar kiri) adalah ground (GND, pin 1), data (DQ pin 2) dan tegangan operasi (VDD , pin3). Anda dapat menghubungkan VDD dan GND dan mengoperasikan sensor dengan catu daya parasit 3-5 volt. Sambungan sirkuit dengan komputer kemudian dimungkinkan dengan kabel pasangan terpilin dua kawat sederhana.

Pada kabel ini – bus 1-kawat – Anda dapat menghubungkan beberapa paralel DS1820. Setiap sensor memiliki kode unik yang ditetapkan oleh produsen untuk mengidentifikasi dirinya sendiri.

Raspberry Pi dan 1-kawat

Pengukuran suhu dengan Raspberry Pi dan sensor suhu 1-kawat DS1820 berisi daftar berbagai cara untuk menggerakkan bus 1-kawat dari Raspberry Pi. Makalah ini menjelaskan solusi (1) dengan jumlah sirkuit eksternal paling sedikit. Selain sensor, Anda hanya memerlukan satu resistor, karena solusi ini sepenuhnya mensimulasikan protokol 1-kawat dalam perangkat lunak.

Hanya satu resistor

Port data DQ DS1820 terhubung langsung ke port GPIO4 antarmuka GPIO Raspberry Pi. GND dan VDD berada di terminal darat GND. Catu daya parasit menghasilkan resistor pull-up 4k7 antara koneksi 3,3 volt 3V3 dan GPIO4.

Resistor, konektor perempuan untuk pemasangan ke port GPIO dan koneksi 1-kawat disolder ke papan tempat memotong roti kecil, yang terletak langsung di port GPIO. Sambungan 1-kawat dapat diwujudkan dengan konektor perempuan bersudut hemat-ruang. Semua ini cocok dengan wadah TEK-BERRY dari Raspberry Pi.

Driver perangkat lunak 1-kawat

Modul kernel yang diperlukan untuk aktivasi sensor suhu 1-kawat adalah bagian dari distribusi "mengi" Raspbian Linux. Namun, Anda harus memuatnya secara eksplisit:

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

Yang penting adalah parameter pullup =1 , yang memberi tahu modul bahwa ada catu daya parasit melalui resistor pull-up. Modul membuat subdirektori untuk setiap sensor yang ditemukan tepat di bawah /sys/bus/w1/devices. Nama direktori terdiri dari Kode Keluarga sensor dan nomor identifikasi uniknya. Sensor tipe DS1820 dan DS18S20 memiliki Family Code 10, DS18B20 memiliki Code 28 dan DS1822 the 22. Di setiap subdirektori terdapat file w1_slave yang berisi status sensor dan nilai suhu terukur:

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

File terdiri dari dua baris, masing-masing berisi register-dump heksadesimal dari IC sensor. Di akhir baris pertama adalah checksum (CRC) dan informasi apakah itu bacaan yang valid (YA). Baris kedua diakhiri dengan pembacaan suhu dalam seperseribu derajat Celcius. Dalam contoh, suhunya adalah 7,375 °C. Keakuratan hingga tiga tempat setelah titik desimal tentu saja hanya terlihat; lembar data DS18S20 menyatakan, misalnya, bahwa akurasi pengukuran hanya ± 0,5° C. Suhu sebenarnya berkisar antara 6,8 hingga 7,9° C.

Jika semuanya bekerja sejauh ini, Anda harus memasukkan dua modul yang diperlukan ke dalam file /etc/modules untuk membuatnya dimuat secara otomatis saat boot:

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

Alat RRD Basis Data Round Robin

Untuk perekaman pembacaan suhu jangka panjang dan pembuatan grafik yang nyaman, penggunaan RRDtool direkomendasikan. Artikel Akuisisi data cuaca dengan USB WDE1 dan Pengukuran suhu dengan Raspberry Pi (USB-serial) menjelaskan alat ini secara mendetail.

Pertama Anda harus menginstal RRDtool dengan bantuan Package Manager di Raspberry Pi:

sudo apt-get install rrdtool python-rrdtool

Paket kedua yang diinstal python-rrdtool adalah antarmuka Python ke RRDtool, yang digunakan nanti. Pada awal bekerja dengan RRDtool adalah definisi database. Contoh berikut membuat database untuk dua sensor suhu temp0 dan temp1 . Tujuannya adalah untuk menyimpan satu nilai per seperempat jam (900 detik). Setelah sepuluh hari (=960 nilai), pengurangan terjadi menjadi satu nilai rata-rata, minimum, dan maksimum per hari. Waktu retensi dari nilai harian ini adalah sepuluh tahun (=3600 nilai):

rrdtool create temperature.rrd --langkah 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:RATA-RATA:0.5:96:3600

Akuisisi Data dengan Python

Skrip Python membaca file khusus w1_slave dan memasukkan nilai suhu ke dalam database round-robin:

Untuk detail lebih lanjut:Sensor suhu 1-kawat DS1820 di Raspberry Pi (langsung GPIO)


Proses manufaktur

  1. Pencatat Suhu Raspberry Pi
  2. Ukur suhu dengan sensor DS18B20 1-kawat dan Raspberry Pi
  3. Baca suhu dengan DS18B20 | Raspberry Pi 2
  4. Pemantauan Suhu di Raspberry Pi
  5. Mengukur suhu dengan RASPBERRY PI
  6. TMP006 Sensor Suhu Pustaka Python menggunakan Raspberry pi,
  7. Sensor Suhu Python dan Raspberry Pi
  8. Stasiun Cuaca Raspberry Pi
  9. Memantau Suhu Dengan Raspberry Pi
  10. Sensor Ultrasonik (HC-SR04) + Raspberry Pi