1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn đo lường điện tử đo nhiệt độ độ ẩm không khí sử dụng cảm biến dht22

20 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đo Nhiệt Độ & Độ Ẩm Không Khí Sử Dụng Cảm Biến DHT22
Tác giả Bùi Vũ Bình Giang, Hoàng Thế Huy, Phạm Quốc An
Người hướng dẫn PGS. TS. Nguyễn Thúy Anh
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Điện Tử - Viễn Thông
Thể loại Bài Tập Lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 20
Dung lượng 4,37 MB

Nội dung

Nó có lực ảnh hưởng khá lớn đến sự phát triển và sinh sảncủa thực vật và động vật.Độ ẩm không khí là chỉ mức hơi nước có trong không khí, nó ảnh hưởng rất nhiềuđến sự phát triển của sinh

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG

BÁO CÁO BÀI TẬP LỚN

ĐO LƯỜNG ĐIỆN TỬ

Đề tài:

Đo nhiệt độ & độ ẩm không khí sử dụng cảm biến DHT22

Nhóm sinh viên thực hiện: Bùi Vũ Bình Giang 20203897 Hoàng Thế Huy 20203902 Phạm Quốc An 20200007

Trang 2

Giảng viên hướng dẫn: PGS TS Nguyễn Thúy Anh

Hà Nội, 2 – 2023

LỜI NÓI ĐẦU

Nhiệt độ không khí là hiện tượng khi các tia bức xạ của mặt trời đi qua khí quyển, mặt đất hấp thụ năng lượng nhiệt của mặt trời Sau đó bức xạ lại vào không khí, khiến cho không khí nóng lên Nhiệt độ của không khí còn được coi là thước đo mức độ nóng lạnh của không khí Nó có lực ảnh hưởng khá lớn đến sự phát triển và sinh sản của thực vật và động vật

Độ ẩm không khí là chỉ mức hơi nước có trong không khí, nó ảnh hưởng rất nhiều đến sự phát triển của sinh vật đặc biệt là trong lĩnh vực nuôi trồng

Vì những lí do trên, nhiệt độ và độ ẩm không khí có vai trò vô cùng to lớn trong nghiên cứu khoa học cũng như trong cuộc sống thường nhật

Ngoài việc trau dồi các kiến thức về môn học Đo lường Điện tử qua lý thuyết và bài tập trên lớp, chúng em cũng mong muốn được áp dụng các kiến thức này vào các vấn đề thiết thực và gần gũi trong thực tế Vì vậy, nhóm chúng em đã lựa chọn đề tài:

Đo nhiệt độ và độ ẩm không khí sử dụng cảm biến DHT22 làm chủ đề cho bài tập

lớn của môn học này

Chúng em xin chân thành cảm ơn cô Nguyễn Thúy Anh đã tận tình giảng dạy và củng cố các kiến thức của môn học để chúng em có thể hoàn thành bài tập lớn này

Trang 3

MỤC LỤC

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT 2

DANH MỤC HÌNH VẼ 3

TÓM TẮT BÁO CÁO 4

CHƯƠNG 1 PHÂN TÍCH ĐỀ TÀI 5

1.1 Cấu tạo cảm biến 5

1.2 Nguyên lý hoạt động cảm biến 6

1.2.1 Yêu cầu trong xử lý 7

1.2.2 Chi tiết các bước giao tiếp 8

1.3 Yêu cầu chức năng 10

1.4 Yêu cầu phi chức năng 10

CHƯƠNG 2 THIẾT KẾ 11

2.1 Sơ đồ nguyên lý và mạch thực tế 11

2.2 Lập trình cho vi xử lý 13

2.2.1 Các thư viện 13

2.2.2 Code Ardurino 14

CHƯƠNG 3 KẾT QUẢ ĐO 16

CHƯƠNG 4 KẾT LUẬN 17

TÀI LIỆU THAM KHẢO 18

Trang 4

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT

NTC Negative Temparature Coefficient Hệ số nhiệt độ âm MSB Most Significant Bit Bit có trọng số lớn nhất

Trang 5

DANH MỤC HÌNH VẼ

Hình 1.1 Cảm biến nhiệt độ - độ ẩm DHT22 5

Hình 1.2 Cấu tạo cảm biến nhiệt độ - độ ẩm DHT22 5

Hình 1.3 Cấu tạo bộ phận cảm biến độ ẩm 6

Hình 1.4 Cấu tạo và hoạt động của nhiệt điện trở 6

Hình 1.5 Kết nối giữa cảm biến DHT22 và Vi xử lý 7

Hình 1.6 Tổng quan quá trình giao tiếp giữa vi điều khiển và DHT22 8

Hình 1.7 Quá trình vi điều khiển gửi tín hiệu khởi động tới MCU 9

Hình 1.8 Quá trình truyền bit 0 9

Hình 1.9 Quá trình truyền bit 1 10

Hình 2.1 Sơ đồ nguyên lý 11

Hình 2.2 Mạch thực tế 12

Trang 6

TÓM TẮT BÁO CÁO

Báo cáo thể hiện quá trình nghiên cứu và thiết kế mạch đo nhiệt độ sử dụng cảm biến DHT22 cũng như xử lý số liệu đo được của nhóm, bao gồm 4 phần:

− Phần I: Phân tích đề tài

− Phần II: Thiết kế

− Phần III: Kết quả đo

− Phần IV: Kết luận

Trang 7

CHƯƠNG 1 PHÂN TÍCH ĐỀ TÀI

1.1 Cấu tạo cảm biến

Không chỉ dành cho các ngành kỹ thuật khác nhau mà theo dõi các thông số của môi trường là thật sự cần thiết đối với mỗi một cá nhân Vì lý do này mà có nhiều cảm biến khác nhau có thể giúp ta đọc được các thông số đó, bao gồm nhiệt độ và độ ẩm Ở đây, DHT22 được lựa chọn để theo dõi nhiệt độ trong môi trường xung quanh

Hình 1.1 Cảm biến nhiệt độ - độ ẩm DHT22

Cảm biến DHT22 là một trong những cảm biến thông dụng nhất hiện nay vì kích thước nhỏ gọn, chi phí thấp và dễ dàng sử dụng Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào Cấu tạo cảm biến DHT22 bao gồm cảm biến nhiệt độ NTC (hay còn gọi là điện trở nhiệt), thành phần cảm biến độ ẩm và một IC ở mặt sau của cảm biến

Trang 8

Hình 1.2 Cấu tạo cảm biến nhiệt độ - độ ẩm DHT22

Để đo độ ẩm, bộ phận cảm biến tương ứng có hai điện cực với chất nền giữ ẩm giữa chúng Khi độ ẩm thay đổi, độ dẫn của chất nền thay đổi hay điện trở giữa hai điện cực này sẽ thay đổi Sự thay đổi điện trở này được đo và xử lý bởi IC giúp cho vi điều khiển luôn sẵn sàng để đọc

Hình 1.3 Cấu tạo bộ phận cảm biến độ ẩm

Để đo nhiệt độ, DHT22 sử dụng cảm biến nhiệt độ NTC hay điện trở nhiệt Một nhiệt điện trở thực chất là một biến trở có thể thay đổi điện trở của nó khi nhiệt độ thay đổi Các cảm biến này được chế tạo bằng cách nung kết các vật liệu bán dẫn như gốm

sứ hoặc polyme để tạo ra những thay đổi lớn hơn về điện trở chỉ với những thay đổi nhỏ về nhiệt độ Khi nhiệt độ tăng lên, giá trị của điện trở sẽ giảm

Trang 9

Hình 1.4 Cấu tạo và hoạt động của nhiệt điện trở

1.2 Nguyên lý hoạt động cảm biến

Để bắt đầu yêu cầu DHT22 cung cấp dữ liệu về độ ẩm và nhiệt độ, kết nối cảm biến với vi điều khiển theo Hình 1 5, quá trình thực hiện gồm 2 bước:

− Vi điều khiển gửi tín hiệu khởi động tới DHT22, sau đó DHT22 phản hồi lại

− Khi đã khởi động chính xác, cảm biến sẽ gửi lại 5 byte dữ liệu gồm nhiệt độ đo được

Hình 1.5 Kết nối giữa cảm biến DHT22 và Vi xử lý

Cảm biến gồm 1 chân không được kết nối sử dụng và 3 chân với nhiệm vụ sau:

Trang 10

− VCC: Cấp nguồn cho cảm biến 5V.

− GND: Nối cực âm của mạch

− Data : Chân tín hiệu vào/ ra

1.2.1 Yêu cầu trong xử lý

1.2.1.1 Nguồn và PIN

Điện áp của nguồn rơi vào khoảng 3.3 – 6 V DC Khi nguồn được cấp cho cảm biến, không gửi bất kỳ lệnh nào đến cảm biến trong vòng 1 giây để vượt qua trạng thái không ổn định Một tụ điện có giá trị 100 nF có thể được đặt giữa Vdd và GND có tác dụng lọc sóng nhiễu

1.2.1.2 Giao tiếp và tín hiệu

Dữ liệu bus đơn được sử dụng để liên lạc giữa vi điều khiển và DHT22, chi phí 5ms cho 1 lần giao tiếp Dữ liệu bao gồm phần nguyên và phần thập phân, sau đây là công thức cho dữ liệu:

− DHT22 sẽ gửi giá trị độ ẩm trước tiên, sau đó là giá trị nhiệt độ Cả hai đều là dữ liệu 16 bit, nhưng được gửi 8 bit (hay 1 byte) cùng một lúc MSB của byte cao hơn được gửi đầu tiên Bit này của giá trị nhiệt độ là bit dấu, nếu bit này cao, nhiệt độ

âm Ngược lại, nhiệt độ là dương

Với Byte1 = 8 bit giá trị phần nguyên độ ẩm, Byte2 = 8 bit giá trị phần thập phân độ ẩm, Byte3 = 8 bit giá trị phần nguyên nhiệt độ, Byte4 = 8 bit giá trị phần thập phân nhiệt độ, Byte5 = 8 bit kiểm tra Tổng

− Nếu Byte5 = Byte1 + Byte2 + Byte3 + Byte4 thì việc truyền dữ liệu là chính xác Khi MCU gửi tín hiệu khởi động, DHT22 sẽ chuyển từ chế độ tiêu thụ điện năng thấp sang chế độ chạy Khi MCU kết thúc việc gửi tín hiệu khởi động này, DHT22 sẽ gửi tín hiệu phản hồi của dữ liệu gồm 40 bit chứa thông tin phản ánh thông tin nhiệt độ và độ ẩm tương đối đến MCU

Ngược lại, nếu không có tín hiệu khởi động từ MCU, DHT22 sẽ không cung cấp tín hiệu phản hồi Lúc này, cảm biến sẽ chuyển sang chế độ tiêu thụ điện năng thấp khi quá trình thu thập dữ liệu kết thúc

Trang 11

Xem Hình 1 6 với tổng quan quá trình giao tiếp giữa DHT với vi điều khiển

Hình 1.6 Tổng quan quá trình giao tiếp giữa vi điều khiển và DHT22

1.2.2 Chi tiết các bước giao tiếp

1.2.2.1 Bước 1: Vi điều khiển gửi tín hiệu khởi động tới DHT22

Hình 1.7 Quá trình vi điều khiển gửi tín hiệu khởi động tới MCU

Trạng thái ban đầu của bus dữ liệu là mức điện áp cao Khi giao tiếp giữa MCU và DHT22 bắt đầu, chương trình của MCU thiết lập Data là Output, biến đổi mức điện áp của bus dữ liệu từ mức cao xuống mức thấp Quá trình này cần tối thiểu 18 ms nhằm đảm bảo DHT22 có thể phát hiện ra tín hiệu của vi điều khiển

MCU nâng điện áp bus dữ liệu lên mức cao và thiết lập nó là Input, đồng thời đợi phản hồi lại từ DHT22 từ 20 – 40 Nếu trên 40 mà mức điện áp của Data vẫn chưa được hạ xuống nghĩa là quá trình giao tiếp với DHT22 gặp vấn đề

Ngay khi DHT22 phát hiện được tín hiệu khởi động, nó kéo mức điện áp của Data xuống thấp và giữ tại mức điện áp này trong 80 dưới dạng tín hiệu phản hồi Tiếp tục nâng mức điện áp của Data lên mức cao trong 80 Kết thúc quá trình này sẽ hoàn thành việc bước đầu giao tiếp với cảm biến DHT22 và chuẩn bị gửi dữ liệu

Trang 12

Vi điều khiển có thể kiểm soát được việc giao tiếp với DHT22 thành công hay không bằng việc theo dõi mức điện áp tại Data

1.2.2.2 Bước 2: DHT22 gửi dữ liệu cho MCU

Hình 1.8 Quá trình truyền bit 0

Khi DHT22 gửi dữ liệu tới vi điều khiển, việc truyền mỗi bit sẽ được bắt đầu với mức điện áp thấp kéo dài 50 , tiếp theo đó, độ dài của tín hiệu mức điện áp cao sẽ quyết định bit được truyền đi: nếu khoảng thời gian này từ 26 – 28 , bit được truyền là bit 0, khoảng thời gian kéo dài 70 , bit được truyền là bit 1

Quá trình tiếp tục tiếp diễn theo trình tự như vậy

Hình 1.9 Quá trình truyền bit 1

1.3 Yêu cầu chức năng

− Đo nhiệt độ của không khí sử dụng cảm biến DHT22 lập trình bởi Vi điều khiển ESP32

− Hiển thị số liệu đo được thông qua website qua wifi

Trang 13

1.4 Yêu cầu phi chức năng

− Giá thành rẻ, dễ dàng lắp đặt, sửa chữa, phù hợp với việc thực hành của sinh viên

− Ổn định, tiêu thụ điện năng thấp

− Dải điện áp hoạt động: 3.3 – 6V DC

− Điện áp vào thực hiện: nguồn trực tiếp từ ESP32 với điện áp 3.3VDC

− Dòng hoạt động: 0.3 mA (chế độ đo) và 60 A (chế độ chờ)

− Tín hiệu ra: tín hiệu kỹ thuật số thông qua bus đơn nối tiếp

− Phạm vi đo nhiệt độ: -40 – 80°C

− Tần số lấy mẫu: 0.5 Hz

Trang 14

CHƯƠNG 2 THIẾT KẾ

2.1 Sơ đồ nguyên lý và mạch thực tế

Hình 2.10 Sơ đồ nguyên lý

Hình 2 10 thể hiện sơ đồ nguyên lý việc kết nối giữa vi điều khiển ESP32 và cảm biến nhiệt độ - độ ẩm DHT22 Chân Data của DHT22 được kết nối với chân vào/ ra của Vi xử lý và điện trở pull – up 10k được sử dụng Chân dữ liệu này gửi các giá trị đầu ra của cả nhiệt độ và độ ẩm dưới dạng dữ liệu nối tiếp

Trang 15

Hình 2.11 Mạch thực tế

Trang 16

Hình 2 11 chụp mạch thực tế đã được hoàn chỉnh lắp đặt và trong quá trình đo nhiệt độ và độ ẩm, bao gồm nguồn pin, vi điều khiển ESP32 và cảm biến nhiệt độ DHT22 Kết quả đo sẽ được hiển thị lên website thông qua wifi

2.2 Lập trình cho vi xử lý

2.2.1 Các thư viện

Thư viện <DHT.h>

Thư viện DHT bao gồm 6 hàm có nhiệm vụ như sau:

− Kiểm soát lỗi trong quá trình giao tiếp và truyền dữ liệu

− Đọc giá trị, trả về và lấy giá trị độ ẩm/ nhiệt độ

− Lấy mức level điện áp tín hiệu

Thư viện “Wifi.h”

- Thiết lập kết nối wifi cho ESP32 và trả về địa chỉ IP

Thư viện “ESPAsyncWebServer.h”

- Xây dựng các kết nối không đồng bộ

- Xử lí nhiều kết nối cùng lúc

Thư viện <Adafruit_Sensor.h>

Trang 17

Kết nối wifi và đẩy dữ liệu lên website

void setup() // Serial port for debugging and connect WIfi const char index_html[] PROGMEM //Template HTML

String processor() //Set value for Template HTML

String readDHTTemperature(); //read temperature

String readDHTHumidity(); //read humidity

String readDHTTemperature() {

float t = dht.readTemperature();

if (isnan(t)) {

Serial.println("Failed to read from DHT sensor!");

return " ";

}else {

Serial.println(t);

return String(t);

}

}

String readDHTHumidity() {

float h = dht.readHumidity();

if (isnan(h)) {

Serial.println("Failed to read from DHT sensor!");

return " ";

}else {

Serial.println(h);

return String(h);

}

}

Serial.begin(115200);

while(!Serial);

Serial.println("Test");

dht.begin();

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(1000);

Serial.println("Connecting to WiFi ");

}

Serial.println(WiFi.localIP());

server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ request->send_P(200, "text/html", index_html, processor);

});

server.on("/temperature", HTTP_GET, [](AsyncWebServerRequest *request) {

request->send_P(200, "text/plain", readDHTTemperature().c_str()); });

server.on("/humidity", HTTP_GET, [](AsyncWebServerRequest *request){ request->send_P(200, "text/plain", readDHTHumidity().c_str()); });

server.begin();

}

Trang 18

CHƯƠNG 3 KẾT QUẢ ĐO

Đo nhiệt độ trong phòng Kết quả đo 30 lần mỗi lần cách nhau 10 giây lúc 22h00

Bảng 3.1 Kết quả đo nhiệt độ

Nhiệt độ

(°C)

25.6 25.5 25.6 25.4 25.6 25.4 25.6 25.6 25.6 25.6

Độ ẩm(%) 82.6 82.6 82.7 83.4 82.6 83.7 82.6 82.5 82.6 83.6

Nhiệt độ (°C) 24.9 25.6 25.6 25.7 24.6 25.6 25.8 25.6 25.6 25.9

Độ ẩm(%) 82.2 82.6 82.7 83.6 82.6 82.6 82.1 82.6 82.3 82.6

Nhiệt độ (°C) 25.6 25.5 25.6 25.4 25.6 25.4 24.7 24.6 24.8 24.6

Độ ẩm(%) 82.5 82.6 82.7 82.5 82.6 82.9 82.4 82.6 82.6 82.3

Trang 19

CHƯƠNG 4 KẾT LUẬN

Nhóm chúng em đã hoàn thành bài tập lớn theo đề tài: Đo nhiệt độ và độ ẩm không khí sử dụng cảm biến DHT22 của môn học này với một sản phẩm nhỏ gọn,

hiệu quả và ứng dụng thực tiễn vào cuộc sống hằng ngày

Qua bài tập lớn lần này, chúng em đã cải thiện thêm cả năng làm việc nhóm của mình, đồng thời thành thạo hơn trong việc tra datasheet của các linh kiện như cảm biến DHT11, lập trình cho vi xử lý cũng như việc xử lý số liệu cho sản phẩm này và các sản phẩm về sau

Chúng em xin chân thành cảm ơn cô Nguyễn Thúy Anh đã tận tình giảng dạy và củng cố các kiến thức của môn học để chúng em có thể hoàn thành bài tập lớn này Trong quá trình làm Bài tập lớn chắc chắn chúng em sẽ gặp phải các sai sót, kính mong cô có thể góp ý, chỉnh sửa để nhóm hoàn thiện bài tập và có thêm kinh nghiệm trong các sản phẩm về sau

Trang 20

TÀI LIỆU THAM KHẢO

https://vi.wikipedia.org/wiki/Nhiệt_độ

https://html.alldatasheet.com/html-pdf/1132459/ETC2/DHT22/225/2/DHT22.html https://circuits-diy.com/dht22-digital-temperature-and-humidity-sensor/

https://www.theengineeringprojects.com/2019/02/introduction-to-dht22.html https://howtomechatronics.com/tutorials/arduino/dht11-dht22-sensors-temperature-and-humidity-tutorial-using-arduino/

https://datasheetspdf.com/pdf-file/792211/Aosong/DHT22/1

https://www.teachmemicro.com/how-dht22-sensor-works/

https://lastminuteengineers.com/dht11-dht22-arduino-tutorial/

Ngày đăng: 30/05/2024, 14:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w