DS18B20: sıvılar için bir sıcaklık sensörü

DS18B20

Aşağıdakiler gibi çeşitli nem ve sıcaklık sensörleri mevcuttur: LM35. Bazıları Arduino ile özel kullanım için modüllere yerleştirilmiştir. Ancak genellikle kuru sıcaklığı, yani hava sıcaklığını ölçmek içindir. Ama işe yarayan somut bir model var sıvılardaki sıcaklığı ölçün ve DS18B20 olarak adlandırılır. Bu parametreyi bilmeniz gereken bir tür sıvı ile de oynadığınız daha egzotik DIY projelerinizden bazıları için kullanışlı olabilecek bir özellik.

Aslında DS18B20 yalnızca sıvıların içindeki sıcaklığı ölçmekle kalmaz, aynı zamanda içindeki sıcaklığı ölçmek de çok yararlı olabilir. nemli ortamlar ve ayrıca bir miktar sıvı altında. Bu nedenle, ortam nem yüklü ise hava sıcaklığını ölçmek için de kullanabilirsiniz. Ve dediğim gibi, sıcaklığını ölçmek için bir sıvıya batırabilme özelliği, onu inanılmaz derecede pratik kılan özelliklerinden biridir.

DS18B20 nedir?

Sanırım zaten oldukça netleşti, gazlı veya sıvı ortamların sıcaklığını ölçebilen elektronik bir sensör. Ek olarak, var DS18B20'nin farklı kapsüllenmesi veya paketlenmesi, ana görüntüde gördüğünüz temel gibi veya bazı PCB'lere, dalgıç problara vb. entegre edilebilir. Projeniz için istediğinize göre en uygun formatı seçmelisiniz.

Örneğin, tipik TO-92'nin yanı sıra, microSOP da vardır. Muhtemelen entegre etmek Arduino ile en uygun olan TO-92'dir, çünkü üç pimi ile bağlantı için devre tahtasına yerleştirmek çok kolaydır.

Elektriksel bağlantı

DS18B20 pimleri

El DS18B20 pin çıkışı tanımlanması kolaydır. Örneğin en popüler paketlerden biri olan Dallas TO-92 paketini referans alarak, üç iğneli olduğunu görebilirsiniz. Önden, yani yuvarlatılmış bölümü arkadan koyarsanız ve yazıtların göründüğü düz yüze bakarsanız, solunuzdaki iğne 1 ve sağınızdaki iğne 3'tür. Bu nedenle, GND için 1 olacaktır. veya toprak, 2 veri için ve 3 besleme voltajı içindir.

Burada şunu söylemeliyiz, bilmen gereken değerler:

  • Pin 1: Arduino'nun GND pinine yani 0v'ye bağlamalısınız.
  • Pin 2: Bu pin DQ veya veridir, sensör tarafından ölçülen sıcaklıkları 1-Wire olarak bilinen belirli bir protokol aracılığıyla Arduino'ya gönderecek ve Arduino IDE için özel bir kitaplık ve işlevlere ihtiyaç duyacaktır. Bu, bu protokolle birden fazla sensörü bağlamak için yalnızca bir Arduino pininin kullanılmasına izin verecektir ...
  • Pin 3: 3 ila 5,5v arasında güç alabilir, böylece Arduino'nun 5v çıkışına bağlayabilirsiniz.

DS18B20 teknik özellikler ve veri sayfası

Her zaman olduğu gibi teknik özellikleri bilmek ilginç Sensörün nasıl çalıştığını bilmek, ona zarar vermemek için ve her şeyden önce ölçüm sınırlarının nerede olduğunu bilmemiz için, çünkü ölçmek istediğimiz değerler aralarında değilse, bize yardımcı olmayacaktır ve başka bir alternatif aramalısın.

Bunu yapmak için en iyisi bir üretici veri sayfasıDallas'taki gibi burada görebilirsiniz. Orada gerekli tüm bilgileri bulacaksınız. Ve tüm DS18B20'nin benzer olmasına rağmen, üreticiye veya pakete bağlı olarak bazı değişiklikler bulabileceğinizi unutmayın ...

Ancak tuhaflıklar ne olursa olsun, işte birkaç temel teknik veriler:

  • Sıcaklık aralığı: -55 ile 125ºC arasında, bu nedenle çok düşük ve ayrıca yüksek sıcaklıklarda gaz veya sıvı içinde ölçüm yapabilir.
  • hatalar: DS18B20, ölçümlerde hatalı değerler verebilecek harici gürültüye veya parazitlere karşı hassastır. Hata payı artı eksi 2ºC'dir, ancak -10ºC ile 85ºC arasındaki sıcaklıklarda yani sınırlara yakın olmadığımızda sadece yarım derece olabilir.
  • Karar: Arduino analog pinleri ile tespit edebileceğiniz birkaç çözünürlük veya minimal varyasyonlarla çalışabilirsiniz. 9 bit, 10 bit, 11 bit ve 12 biti (varsayılan) destekler. Yani, sırasıyla yarım ila yarım derece, çeyrek ila çeyrek derece, 0,125 ila 0,125ºC veya 0,0625ºC arasında ölçüm yapabilir. Bu programlamayı programlama kodu aracılığıyla değiştirebilirsiniz.
  • Besleme gerilimi: 3 - 5,5v
  • fiyat: 1-3 €

Arduino ile entegrasyon

Arduino Bağlantı Şeması - DS18B20

Olmasına rağmen bağlamanın çeşitli yollarıen uygun olanı bu şemada gördüğünüz olandır. Arduino kartının ilgili bağlantısındaki GND pini, aynı güç kaynağı ve ardından Arduino IDE'deki programlama kodunuzda seçtiğiniz Arduino analoguna giden veriler ile oldukça basittir. Ancak 4,7k kaldırma direncini ayarlamak da iyidir (sensör prob kablosunun mesafesi daha büyükse, direnç daha düşük olmalıdır, örneğin 5m için 3,3k, 10 of 2,2, XNUMXk,…) veri pini için ve böylece her zaman yüksek tutun.

Için Arduino IDE'de programlama ve DS18B20 ile iyi entegrasyonu ve bu çok özel protokol, kitaplıkları indirmeniz önerilir. Dallas Sıcaklığı y OneWire çevreden. Ve temel kod, gösterdiğim örnek gibi bir şey olabilir:

#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); 
}

Daha fazla bilgi - Arduino Programlama Kılavuzu (Ücretsiz PDF)


İlk yorumu siz

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.