ESP32 Hệ Thống Làm Mát sử dụng Cảm Biến Nhiệt Độ DS18B20

Tutorial này hướng dẫn bạn cách tạo hệ thống làm mát sử dụng ESP32, cảm biến nhiệt độ DS18B20 và quạt. Chi tiết:

Phần Cứng Cần Thiết

1×mô-đun phát triển ESP-WROOM-32
1×Alternatively, ESP32 Uno-form board
1×Alternatively, ESP32 S3 Uno-form board
1×Cáp USB Type-C
1×Cảm Biến Nhiệt Độ DS18B20 (CÓ Adapter)
1×Cảm Biến Nhiệt Độ DS18B20 (KHÔNG Adapter)
1×Điện trở 4.7 kΩ
1×Relay
1×Quạt Làm Mát DC 12V
1×(Thay thế) Quạt Làm Mát DC 5V
1×Adapter Nguồn 12V
1×breadboard
1×Dây Jumper
1×(Tùy chọn) Jack Nguồn DC
1×(Khuyến nghị) Screw Terminal Expansion Board for ESP32
1×(Khuyến nghị) Breakout Expansion Board for ESP32
1×(Khuyến nghị) Power Splitter for ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về Quạt Làm Mát và Cảm Biến Nhiệt Độ DS18B20

Chúng tôi có các tutorial chuyên biệt về cảm biến nhiệt độ DS18B20 và quạt. Mỗi tutorial chứa thông tin chi tiết và hướng dẫn từng bước về pinout phần cứng, nguyên lý hoạt động, kết nối dây với ESP32, code ESP32... Tìm hiểu thêm tại các liên kết sau:

Sơ Đồ Đấu Nối

  • Sơ đồ đấu nối với breadboard
ESP32 cảm biến nhiệt độ cooling system sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.

  • Sơ đồ đấu nối với adapter (khuyến nghị)
ESP32 ds18b20 fan sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Để dễ dàng kết nối, bạn nên mua cảm biến DS18B20 đi kèm với adapter có tích hợp điện trở, loại bỏ nhu cầu thêm điện trở bổ sung trong việc đấu nối.

Cách Hệ Thống Hoạt Động

  • ESP32 đọc nhiệt độ từ cảm biến nhiệt độ DS18B20
  • Nếu nhiệt độ cao hơn ngưỡng trên, ESP32 tự động bật quạt
  • Nếu nhiệt độ thấp hơn ngưỡng dưới, ESP32 tự động tắt quạt

ESP32 tiếp tục kiểm tra nhiệt độ vô hạn.

Ngưỡng dưới và ngưỡng trên có thể có cùng giá trị.

Code ESP32

/* * Mã ESP32 này được phát triển bởi newbiely.vn * Mã ESP32 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/esp32/esp32-cooling-system-using-ds18b20-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define TEMP_UPPER_THRESHOLD 30 // upper temperature threshold #define TEMP_LOWER_THRESHOLD 15 // lower temperature threshold #define SENSOR_PIN 23 // ESP32 pin GPIO23 connected to DS18B20 sensor's DQ pin #define RELAY_FAN_PIN 18 // ESP32 pin GPIO18 connected to relay OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); void setup() { Serial.begin(9600); // initialize serial DS18B20.begin(); // initialize the DS18B20 sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures float temperature = DS18B20.getTempCByIndex(0); // read temperature in Celsius if (temperature > TEMP_UPPER_THRESHOLD) { Serial.println("Turn the fan on"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on } else if (temperature < TEMP_LOWER_THRESHOLD) { Serial.println("Turn the fan off"); digitalWrite(RELAY_FAN_PIN, LOW); // turn off } delay(500); }

Code ESP32 trên tự động bật quạt nếu nhiệt độ cao hơn 30°C, và giữ quạt bật cho đến khi nhiệt độ thấp hơn 15°C

Các Bước Nhanh

  • Nếu đây là lần đầu bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
  • Thực hiện đấu nối theo hình ảnh trên.
  • Kết nối board ESP32 với PC qua cáp micro USB
  • Mở Arduino IDE trên PC của bạn.
  • Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
  • Click vào biểu tượng Libraries ở thanh bên trái của Arduino IDE.
  • Tìm kiếm "DallasTemperature" trong ô tìm kiếm, sau đó tìm thư viện DallasTemperature của Miles Burton.
  • Click nút Install để cài đặt thư viện DallasTemperature.
ESP32 dallas temperature thư viện
  • Bạn sẽ được yêu cầu cài đặt dependency. Click nút Install All để cài đặt thư viện OneWire.
ESP32 onewire thư viện
  • Copy code trên và paste vào Arduino IDE.
  • Biên dịch và upload code lên board ESP32 bằng cách click nút Upload trên Arduino IDE
  • Làm cho cảm biến lạnh hơn hoặc nóng hơn. Ví dụ, đặt cảm biến gần một cốc cà phê nóng
  • Kiểm tra trạng thái của quạt

Kiến Thức Nâng Cao

  • Thuật toán được sử dụng trong tutorial trên để điều khiển nhiệt độ được gọi là bộ điều khiển on-off (còn được biết đến là bộ điều khiển "bang-bang", hoặc signaller). Thuật toán này đơn giản để thực hiện và hoạt động tốt trong điều khiển nhiệt độ.
  • Một giải pháp thay thế cho thuật toán trên là bộ điều khiển PID. Bộ điều khiển PID làm cho nhiệt độ mong muốn ổn định hơn. Tuy nhiên, nó rất khó hiểu và thực hiện. Do đó, bộ điều khiển PID không được sử dụng rộng rãi trong điều khiển nhiệt độ.

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.

Bình Luận