DS18B20: sensor suhu untuk cecair

DS18B20

Terdapat pelbagai sensor kelembapan dan suhu yang tersedia, seperti LM35. Beberapa dibina dalam modul untuk penggunaan khusus dengan Arduino. Tetapi secara amnya, mereka mengukur suhu kering, yaitu suhu udara. Tetapi ada model konkrit yang berfungsi mengukur suhu dalam cecair dan dipanggil DS18B20. Keanehan yang mungkin berguna untuk beberapa projek DIY yang lebih eksotik di mana anda juga bermain dengan beberapa jenis cecair yang anda perlu ketahui parameter ini.

Sebenarnya DS18B20 bukan sahaja mengukur suhu di dalam cecair, tetapi boleh sangat berguna untuk mengukur suhu di persekitaran lembap dan juga di bawah cecair. Oleh itu, anda juga dapat menggunakannya untuk mengukur suhu udara jika persekitaran cukup sarat dengan kelembapan. Seperti yang saya katakan, ciri untuk merendamnya dalam cecair untuk mengukur suhunya adalah salah satu ciri yang menjadikannya sangat praktikal.

Apa itu DS18B20?

Saya rasa sudah jelas, ia adalah sensor elektronik yang mampu mengukur suhu media gas atau cecair. Di samping itu, terdapat pakej atau pakej berbeza DS18B20, seperti gambar dasar yang anda lihat pada gambar utama, atau dapat juga disatukan ke dalam beberapa PCB, probe selam, dll. Untuk projek anda, anda harus memilih format yang paling sesuai mengikut kehendak anda.

Sebagai contoh, selain dari TO-92 biasa, terdapat juga microSOP. Mungkin untuk mengintegrasikan dengan Arduino yang paling sesuai adalah TO-92, kerana dengan tiga pinnya sangat mudah untuk dimasukkan ke papan roti untuk disambungkan.

pinout

Pin Ds18b20

El Pinout DS18B20 senang dikenali. Sebagai contoh, sebagai pakej Dallas TO-92, yang merupakan salah satu yang paling popular, anda dapat melihat bahawa ia mempunyai tiga pin. Sekiranya anda meletakkannya dari depan, iaitu dengan bahagian bulat ke belakang dan melihat wajah rata di mana prasasti muncul, pin di sebelah kiri anda adalah 1 dan yang di sebelah kanan anda adalah 3. Oleh itu, 1 adalah untuk GND atau tanah, 2 untuk data dan 3 untuk voltan bekalan.

Di sini kita harus mengatakan bahawa, nilai yang harus anda ketahui:

  • Pin 1: anda mesti menyambungkannya ke pin GND Arduino, iaitu ke 0v.
  • Pin 2: pin ini adalah DQ atau data, yang akan mengirimkan suhu yang diukur oleh sensor ke Arduino melalui protokol tertentu yang dikenali sebagai 1-Wire dan yang memerlukan perpustakaan dan fungsi khas untuk Arduino IDE. Itu hanya akan menggunakan satu pin Arduino untuk menghubungkan beberapa sensor dengan protokol ini ...
  • Pin 3: Ia dapat dihidupkan dari 3 hingga 5,5v, jadi anda boleh menyambungkannya ke output Arvino 5v.

Ciri teknikal dan lembar data DS18B20

Seperti biasa, memang begitu menarik untuk mengetahui ciri teknikal sensor untuk mengetahui cara kerjanya, agar tidak merosakkannya, dan yang paling penting agar kita tahu di mana had pengukurannya, kerana jika nilai yang ingin kita ukur tidak ada di antara mereka, ia tidak akan membantu kita dan anda harus mencari alternatif lain.

Untuk melakukan ini, lebih baik memuat turun a lembaran data pengeluar, seperti yang ada di Dallas itu anda boleh lihat di sini. Di sana anda akan menemui semua maklumat yang diperlukan. Dan ingat bahawa walaupun semua DS18B20 mungkin serupa, bergantung pada pengeluar atau pakej anda mungkin menemui beberapa perubahan ...

Tetapi tanpa mengira kebiasaan, berikut adalah beberapa data teknikal asas:

  • Kadar suhu: -55 hingga 125ºC, oleh itu, ia dapat mengukur gas atau cecair pada suhu yang sangat rendah dan juga tinggi.
  • Kesalahan: DS18B20 sensitif terhadap bunyi luaran atau gangguan yang dapat memberikan nilai yang salah dalam pengukuran. Margin ralat adalah plus minus 2 althoughC, walaupun pada suhu antara -10ºC dan 85 thatC, iaitu ketika kita tidak mendekati batas, mungkin hanya setengah darjah.
  • Resolusi: Anda boleh bekerja dengan beberapa resolusi atau variasi minimum yang dapat anda mengesan dengan pin analog Arduino. Menyokong 9-bit, 10-bit, 11-bit, dan 12-bit (lalai). Iaitu dapat mengukur dari setengah hingga setengah darjah, dari seperempat hingga seperempat darjah, masing-masing dari 0,125 hingga 0,125 0,0625C, atau dari XNUMXºC. Anda boleh mengubah pengaturcaraan ini melalui kod pengaturcaraan.
  • Voltan bekalan: 3 hingga 5,5v
  • harga: 1 hingga 3 €

Integrasi dengan Arduino

Gambar rajah sambungan Arduino - ds18b20

Walaupun ada pelbagai cara untuk menghubungkannya, yang paling sesuai adalah yang anda lihat dalam rajah ini. Cukup mudah, dengan pin GND pada sambungan yang sesuai dari papan Arduino, catu daya sama dan kemudian data ke analog Arduino yang telah anda pilih dalam kod pengaturcaraan anda di Arduino IDE. Tetapi adalah baik untuk menetapkan resistor penarik 4,7k (jika jarak kabel probe sensor lebih besar, rintangan harus lebih rendah, misalnya, untuk 5m 3,3k, untuk 10 dari 2,2, XNUMXk,…) untuk pin data dan dengan itu pastikan ia sentiasa tinggi.

Untuk pengaturcaraan di Arduino IDE dan penyatuannya yang baik dengan DS18B20 dan protokol yang sangat khusus, anda disyorkan untuk memuat turun perpustakaan Suhu Dallas y OneWire dari persekitaran. Dan kod asasnya, seperti contoh ini yang saya tunjukkan:

#include <OneWire.h>
#include <DallasTemperature.h>

// Pin donde se conecta el bus 1-Wire (DQ)
const int pinDatosDQ = 9;

// Instancia a las clases OneWire y DallasTemperature
OneWire oneWireObjeto(pinDatosDQ);
DallasTemperature sensorDS18B20(&oneWireObjeto);
 
void setup() {
    // Iniciamos la comunicación serie a 9600 baudios
    Serial.begin(9600);
    // Iniciamos el bus 1-Wire del sensor
    sensorDS18B20.begin(); 
}
 
void loop() {
    // Indicamos que tome la temperatura
    Serial.println("Midiendo temperatura");
    sensorDS18B20.requestTemperatures();
 
    // Lee y muestra la temperatura (recuerda que puedes conectar más de uno con 1-wire)
    Serial.print("La temperatura del sensor 0 es de: ");
    Serial.print(sensorDS18B20.getTempCByIndex(0));
    Serial.println(" C");
    Serial.print("La temperatura del sensor x es de: ");
    Serial.print(sensorDS18B20.getTempCByIndex(1));
    Serial.println(" ºC");
    
    delay(1000); 
}

Maklumat lanjut - Manual Pengaturcaraan Arduino (PDF Percuma)


Menjadi yang pertama untuk komen

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.