DS18B20: cảm biến nhiệt độ cho chất lỏng

DS18B20

Có sẵn các cảm biến nhiệt độ và độ ẩm khác nhau, chẳng hạn như LM35. Một số được tích hợp trong các mô-đun để sử dụng cụ thể với Arduino. Nhưng nói chung, chúng để đo nhiệt độ khô, tức là nhiệt độ không khí. Nhưng có một mô hình cụ thể hoạt động cho đo nhiệt độ trong chất lỏng và được gọi là DS18B20. Một đặc thù có thể hữu ích cho một số dự án DIY kỳ lạ hơn của bạn, đó là bạn cũng chơi với một số loại chất lỏng mà bạn cần biết thông số này.

Trên thực tế, DS18B20 không chỉ đo nhiệt độ bên trong chất lỏng, mà nó có thể rất hữu ích để đo nhiệt độ trong môi trường ẩm ướt và cả dưới một số chất lỏng. Vì vậy, bạn cũng có thể sử dụng nó để đo nhiệt độ không khí nếu môi trường có khá nhiều độ ẩm. Và như tôi đã nói, tính năng có thể nhúng nó vào chất lỏng để đo nhiệt độ của nó là một trong những tính năng khiến nó trở nên vô cùng thiết thực.

DS18B20 là gì?

Tôi nghĩ nó đã trở nên khá rõ ràng, nó là một cảm biến điện tử có khả năng đo nhiệt độ của môi trường khí hoặc chất lỏng. Ngoài ra, còn có đóng gói hoặc đóng gói khác nhau của DS18B20, chẳng hạn như cái cơ bản mà bạn thấy trong hình ảnh chính, hoặc nó cũng có thể được tích hợp vào một số PCB, đầu dò chìm, v.v. Đối với dự án của bạn, bạn nên chọn định dạng phù hợp nhất theo những gì bạn muốn.

Ví dụ, ngoài TO-92 điển hình, còn có microSOP. Có thể tích hợp với Arduino thích hợp nhất là TO-92, vì với ba chân của nó, rất dễ dàng để cắm vào breadboard để kết nối.

pinout

Chân ds18b20

El Sơ đồ chân DS18B20 nó rất dễ dàng để xác định. Ví dụ, lấy tham chiếu gói Dallas TO-92, là một trong những gói phổ biến nhất, bạn có thể thấy rằng nó có ba chân. Nếu bạn đặt nó từ phía trước, nghĩa là với phần được làm tròn trở lại và nhìn vào mặt phẳng nơi các chữ khắc xuất hiện, chốt ở bên trái của bạn là 1 và chốt ở bên phải của bạn là 3. Do đó, 1 sẽ là GND hoặc nối đất, 2 là dữ liệu và 3 là điện áp cung cấp.

Ở đây chúng ta phải nói rằng, những giá trị mà bạn nên biết:

  • Chân 1: bạn phải kết nối nó với chân GND của Arduino, nghĩa là với 0v.
  • Chân 2: chân này là DQ hoặc dữ liệu, chân này sẽ gửi nhiệt độ được đo bởi cảm biến đến Arduino thông qua một giao thức cụ thể được gọi là 1-Wire và sẽ cần một thư viện và chức năng đặc biệt cho Arduino IDE. Điều đó sẽ cho phép chỉ sử dụng một chân Arduino để kết nối nhiều cảm biến với giao thức này ...
  • Chân 3: Nó có thể được cấp nguồn từ 3 đến 5,5v, vì vậy bạn có thể kết nối nó với đầu ra 5v của Arduino.

Đặc tính kỹ thuật và biểu dữ liệu DS18B20

Như mọi khi, nó là thú vị khi biết các đặc tính kỹ thuật của cảm biến để biết nó hoạt động như thế nào, để không làm hỏng nó và trên hết là để chúng ta biết giới hạn đo của nó ở đâu, vì nếu các giá trị chúng ta muốn đo không nằm giữa chúng, nó sẽ không giúp chúng ta và bạn nên tìm kiếm một giải pháp thay thế khác.

Để làm điều này, cách tốt nhất là tải xuống bảng dữ liệu nhà sản xuất, như cái ở Dallas bạn có thể xem ở đây. Ở đó bạn sẽ tìm thấy tất cả các thông tin cần thiết. Và hãy nhớ rằng mặc dù tất cả DS18B20 có thể giống nhau, tùy thuộc vào nhà sản xuất hoặc gói, bạn có thể tìm thấy một số thay đổi ...

Nhưng bất kể những điều kỳ quặc, đây là một số dữ liệu kỹ thuật cơ bản:

  • Phạm vi nhiệt độ: -55 đến 125ºC, do đó, nó có thể đo trong khí hoặc chất lỏng ở nhiệt độ rất thấp và cũng như cao.
  • Sai lầm: DS18B20 nhạy cảm với tiếng ồn bên ngoài hoặc nhiễu động có thể cung cấp các giá trị sai trong phép đo. Biên độ sai số là cộng trừ 2ºC, mặc dù ở nhiệt độ từ -10ºC đến 85ºC, nghĩa là, khi chúng ta không gần đến giới hạn, nó có thể chỉ là một nửa độ.
  • Nghị quyết: Bạn có thể làm việc với một số độ phân giải hoặc các biến thể tối thiểu mà bạn có thể phát hiện bằng các chân tương tự Arduino. Hỗ trợ 9-bit, 10-bit, 11-bit và 12-bit (mặc định). Tức là, nó có thể đo từ một nửa đến một nửa độ, từ một phần tư đến một phần tư độ, từ 0,125 đến 0,125ºC, hoặc từ 0,0625ºC tương ứng. Bạn có thể thay đổi chương trình này thông qua mã lập trình.
  • Cung cấp hiệu điện thế: 3 đến 5,5v
  • giá: 1 đến 3 €

Tích hợp với Arduino

Sơ đồ kết nối Arduino - ds18b20

Mặc dù có nhiều cách khác nhau để kết nối nó, phù hợp nhất là cái bạn thấy trong sơ đồ này. Nó khá đơn giản, với chân GND trong kết nối tương ứng của bảng Arduino, nguồn cung cấp giống nhau và sau đó là dữ liệu đến tương tự Arduino mà bạn đã chọn trong mã lập trình của mình trong Arduino IDE. Nhưng cũng tốt khi đặt điện trở kéo lên 4,7k (nếu khoảng cách của cáp đầu dò cảm biến lớn hơn thì điện trở nên thấp hơn, ví dụ 5m là 3,3k, 10 trên 2,2k,…) cho chân dữ liệu và do đó giữ cho nó luôn ở mức cao.

Đối với lập trình trong Arduino IDE và tích hợp tốt với DS18B20 và giao thức rất cụ thể đó, bạn nên tải xuống các thư viện Dallas Nhiệt độ y một dây từ môi trường. Và mã cơ sở, nó có thể là một cái gì đó giống như ví dụ này mà tôi hiển thị:

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

Thêm thông tin - Hướng dẫn lập trình Arduino (PDF miễn phí)


Hãy là người đầu tiên nhận xét

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.