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ử Đề Tài Đo Nhiệt Độ Không Khí Sử Dụng Cảm Biến Dht11 & Xử Lý Sai.pdf

27 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 độ không khí sử dụng cảm biến DHT11 & Xử lý sai số
Tác giả Nguyễn Quang Lê Kiên, Trần Hoàng Kiên, Mai Trần Thuyết
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 Đo Lường Điện Tử
Thể loại Bài tập lớn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 27
Dung lượng 3,61 MB

Nội dung

Còn đối với nhiệt độ không khí nói riêng thì nó 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.. Vì vậy, nhóm chúng em đã l

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 độ không khí sử dụng cảm biến DHT11

& Xử lý sai số

Nhóm sinh viên thực hiện:

Nguyễn Quang Lê Kiên 20193300

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

Hà Nội, 2 - 2022

Trang 2

LỜI NÓI ĐẦU

Nhiệt độ là tính chất vật lý của vật chất hiểu nôm na là thang đo độ "nóng" và

"lạnh" Nó là biểu hiện của nhiệt năng, có trong mọi vật chất, là nguồn gốc của sự xuất hiện nhiệt, một dòng năng lượng, khi một vật thể tiếp xúc với vật khác lạnh hơn Còn đối với nhiệt độ không khí nói riêng thì nó 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 độ là yếu tố quan trọng trong tất cả các lĩnh vực khoa học tự nhiên, bao gồm vật lý, hóa học, khoa học Trái Đất, thiên văn học, y học, sinh học, sinh thái và địa

lý cũng như hầu hết các khía cạnh của cuộc sống hàng ngày

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 độ không khí sử dụng cảm biến DHT11 và Xử lý sai số 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 i

DANH MỤC HÌNH VẼ ii

DANH MỤC BẢNG BIỂU iii

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

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1

1.1 Đặt vấn đề 1

1.2 Các cảm biến nhiệt độ có trên thị trường 1

1.2.1 So sánh DHT11 với DHT22 (AM2302) 2

1.3 Phân công công việc trong nhóm 3

1.4 Kết luận chương I 3

CHƯƠNG 2 THIẾT KẾ MẠCH ĐO NHIỆT ĐỘ KHÔNG KHÍ 4

2.1 Chỉ tiêu thiết kế 4

2.2 Sơ đồ chức năng 4

2.3 Tính toán và lựa chọn thiết bị phần cứng 4

2.3.1 Tính toán và lựa chọn khối xử lý trung tâm 4

2.3.2 Tính toán và lựa chọn khối cảm biến 6

2.4 THIẾT KẾ MẠCH ĐIỀU KHIỂN PHẦN CỨNG 11

2.4.1 Tổng kết linh kiện 11

2.4.2 Sơ đồ mắc mạch 11

2.5 THIẾT KẾ CHƯƠNG TRÌNH ĐIỀU KHIỂN THIẾT BỊ 12

2.6 Kết luận chương II 13

CHƯƠNG 3 KẾT QUẢ ĐO VÀ XỬ LÝ SAI SỐ 14

3.1 Kết quả đo 14

3.2 Xử lý sai số đo theo tính toán 14

3.3 Nguyên nhân sai số 15

Trang 4

3.3.1 Sai số hệ thống 15

3.3.2 Sai số ngẫu nhiên 15

3.4 Khắc phục sai số 16

CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 17

4.1 Kết quả đạt được 17

4.2 Tự đánh giá 17

4.3 Kết luận 18

4.4 Hướng phát triển trong tương lai 18

TÀI LIỆU THAM KHẢO 19

Trang 5

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

NTC Negative Temperature Coefficient Hệ số nhiệt độ âm

Trang 6

DANH MỤC HÌNH VẼ

Hình 1.1 Nhiệt độ là một đại lượng vật lý biểu lộ nóng và lạnh 1

Hình 1.2 Bảng so sánh tổng hợp các loại cảm biến nhiệt độ phổ biến trên thị trường 2

Hình 2.1 Sơ đồ khối chức năng của mạch 4

Hình 2.2 Hình ảnh và sơ đồ chân của VĐK 5

Hình 2.3 Cảm biến DHT11 6

Hình 2.4 Cấu tạo chân cảm biến DHT11 6

Hình 2.5 Đồ thị thể hiện sự phụ thuộc trở kháng với nhiệt độ 8

Hình 2.6 Sơ đồ kết nối giữa vi xử lý và cảm biến DHT11 9

Hình 2.7 MCU gửi tín hiệu Start và DHT phản hồi 9

Hình 2.8 Data "0" Indication 10

Hình 2.9 Data "1" Indication 11

Hình 2.10 Sơ đồ kết nối giữa ESP32 và Module cảm biến DHT11 12

Hình 2.11 Lưu đồ thuật toán của chương trình 12

Hình 4.1 Ảnh mạch thật của nhóm 17

Hình 4.2 Kết quả hiển thị 17

Trang 7

DANH MỤC BẢNG BIỂU

Bảng 1.1 Bảng phân công công việc 3Bảng 2.1 Bảng mô tả các chân của cảm biến DHT11 7Bảng 2.2 Tổng kết linh kiện 11Bảng 2.3 Các file, hàm được sử dụng trong chương trình chính và chức năng của chúng 13Bảng 3.1 Bảng kết quả đo 14Bảng 3.2 Bảng tính toán sai số dư 14

Trang 8

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 độ không khí sử dụng cảm biến DHT11 cũng như xử lý số liệu đo được của nhóm, bao gồm 4 phần:

− Phần I: Tổng quan về đề tài

− Phần II: Thiết kế mạch đo nhiệt độ không khí

− Phần III: Kết quả đo và xử lý sai số

− Phần IV: Kết luận và hướng phát triển

Trang 9

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI

1.1 Đặt vấn đề

Nhiệt độ là một đại lượng vật lý biểu lộ nóng và lạnh Nó là một phép đo tỷ lệ của động năng trung bình của những vận động bất kể của những hạt cấu thành của vật chất (như nguyên tử và phân tử) trong một hệ

Hình 1.1 Nhiệt độ là một đại lượng vật lý biểu lộ nóng và lạnh

Nhiệt độ là yếu tố quan trọng trong tất cả các lĩnh vực khoa học tự nhiên, bao gồm vật

lý, hóa học, khoa học Trái Đất, thiên văn học, y học, sinh học, sinh thái và địa lý cũng như hầu hết các khía cạnh của cuộc sống hàng ngày Chính vì tầm quan trọng của nó

và cũng để đáp ứng yêu cầu của bài tập lớn là tiến hành đo một đại lượng vật lý nên nhóm em quyết định chọn đề tài: “Đo nhiệt độ không khí sử dụng cảm biến DHT11 và

Xử lý sai số” trong bài tập lớn

1.2 Các cảm biến nhiệt độ có trên thị trường

Có nhiều loại cảm biến nhiệt độ tương thích với Arduino, ESP32, ESP8266 Vì vậy, có thể khó để chọn cảm biến phù hợp nhất cho bài tập lớn này Dưới đây, nhóm em sẽ so sánh 6 cảm biến nhiệt độ được sử dụng rộng rãi: DHT11, DHT22, LM35, DS18B20, BME280 và BMP180

Trang 10

Chúng ta sẽ so sánh các cảm biến về giao thức truyền thông, phạm vi nhiệt độ, độ chính xác, tính dễ sử dụng và nhiều thứ khác nữa.

Để so sánh nhanh các cảm biến, các bạn có thể tham khảo hình Hình 1.2 là bảng so sánh tổng hợp bên dưới với các thông tin quan trọng nhất khi chọn cảm biến nhiệt độ,

đó là: giao thức truyền thông, điện áp nguồn, phạm vi nhiệt độ và độ chính xác

Hình 1.2 Bảng so sánh tổng hợp các loại cảm biến nhiệt độ phổ biến trên thị trường1.2.1 So sánh DHT11 với DHT22 (AM2302)

DHT11 và DHT22 (AM2302) là cảm biến nhiệt độ kỹ thuật số đo nhiệt độ và độ ẩm Chúng trông rất giống nhau và hoạt động theo cùng một cách, nhưng có thông số kỹ thuật khác nhau

Cảm biến DHT22 có độ phân giải tốt hơn và phạm vi đo nhiệt độ và độ ẩm rộng hơn Tuy nhiên, nó đắt hơn một chút và bạn chỉ có thể yêu cầu đọc với khoảng thời gian 2 giây

DHT11 rẻ hơn một chút, có phạm vi nhỏ hơn và kém chính xác hơn Nhưng bạn có thể nhận được các chỉ số cảm biến mỗi giây

Mặc dù có sự khác biệt nhưng cả hai hoạt động theo cách tương tự và bạn có thể sử dụng cùng một code để đọc nhiệt độ và độ ẩm

Trang 11

1.3 Phân công công việc trong nhóm

Bảng 1.1 dưới đây phân công công việc cho từng thành viên trong nhóm để triển khai bài tập lớn một cách hiệu quả

Bảng 1.1 Bảng phân công công việc

Nguyễn Quang Lê Kiên 20193300 Lý thuyết, phân công công việc,

viết báo cáo, chỉnh sửa slide Mai Trần Thuyết 20193319 Lý thuyết, tính toán sai số, lắp

mạch, làm slide Trần Hoàng Kiên 20193302 Lý thuyết, tính toán sai số, lắp

mạch, chỉnh sửa slide

1.4 Kết luận chương I

Trên đây chúng em đã giới thiệu sơ bộ về mục đích của mạch cảm biến nhiệt độ không khí, các loại cảm biến nhiệt độ phổ biến trên thị trường cũng như là phân công công việc trong nhóm để triển khai công việc Hi vọng chương đầu tiên này đã đem lại cho độc giả những cái nhìn tống quan và những hiểu biết cơ bản về mạch mà nhóm em muốn xây dựng Tiếp theo chương I, sau đây nhóm em sẽ trình bày chi tiết về những yêu cầu đặt ra và phương pháp thiết kế chi tiết cho mạch của mình

Trang 12

CHƯƠNG 2 THIẾT KẾ MẠCH ĐO NHIỆT ĐỘ KHÔNG KHÍ

2.1 Chỉ tiêu thiết kế

Nhóm em hy vọng sẽ thiết kế mạch được thiết bị đạt kết quả sau:

− Hiếu được cơ chế đo nhiệt độ của cảm biến

− Hạn chế được tối đa sai số

− Xử lý tốt kết quả đầu ra với các kiến thức đã được học

2.2 Sơ đồ chức năng

Hình 2.1 Sơ đồ khối chức năng của mạch Chức năng từng khối:

− Khối cảm biến: Đo nhiệt độ không khí

− Khối xử lý trung tâm: Xử lý thông tin, điều khiển toàn bộ hệ thống

− Khối hiển thị: Hiển thị thông tin theo lệnh từ khối xử lý trung tâm

2.3 Tính toán và lựa chọn thiết bị phần cứng

2.3.1 Tính toán và lựa chọn khối xử lý trung tâm

Nhóm chúng em quyết định lựa chọn vi điều khiển ESP32 vì trong môn học vi xử

lý, bọn em đã đang và sẽ được dạy về nó ESP32 là một series các vi điều khiển trên một vi mạch giá rẻ, năng lượng thấp có hỗ trợ WiFi và dual-mode Bluetooth (tạm dịch: Bluetooth chế độ kép) Dòng ESP32 sử dụng bộ vi xử lý Tensilica Xtensa LX6 ở cả

Trang 13

hai biến thể lõi kép và lõi đơn, và bao gồm các công tắc antenna tích hợp, RF balun,

bộ khuếch đại công suất, bộ khuếch đại thu nhiễu thấp, bộ lọc và module quản lý năng lượng

2.3.1.1 Thông số kỹ thuật:

− Bộ vi xử lý LX6 32-bit lõi đơn hoặc lõi kép với xung nhịp lên đến 240 MHz

− 520 KB SRAM, 448 KB ROM và 16 KB SRAM RTC

− Hỗ trợ kết nối Wi-Fi 802.11 b / g / n với tốc độ lên đến 150 Mbps

− Hỗ trợ cho cả thông số kỹ thuật Bluetooth v4.2 và BLE cổ điển

− 34 GPIO có thể lập trình

− 18 kênh SAR ADC 12 bit và 2 kênh DAC 8 bit

− Kết nối nối tiếp bao gồm 4 x SPI, 2 x I2C, 2 x I2S, 3 x UART

− Ethernet MAC cho giao tiếp mạng LAN vật lý (yêu cầu PHY bên ngoài)

− 1 bộ điều khiển host cho SD / SDIO / MMC và 1 bộ điều khiển slave cho SDIO / SPI

− Động cơ PWM và 16 kênh LED PWM

− Khởi động an toàn và mã hóa Flash

− Tăng tốc phần cứng mật mã cho AES, Hash (SHA-2), RSA, ECC và RNG

Hình 2.2 Hình ảnh và sơ đồ chân của VĐK

Trang 14

2.3.2 Tính toán và lựa chọn khối cảm biến

Qua tìm hiểu các sản phẩm có sẵn trên thị trường, chúng em quyết định lựa chọn cảm biến DHT11 như Hình 2.3 vì ưu điểm là cảm biến kỹ thuật số giá rẻ để cảm nhận nhiệt

độ và độ ẩm Cảm biến này có thể dễ dàng giao tiếp với bất kỳ bộ vi điều khiển vi nào như Arduino, Raspberry Pi, để đo độ ẩm và nhiệt độ ngay lập tức

Hình 2.3 Cảm biến DHT11 2.3.2.1 Cấu tạo cảm biến DHT11

a) Sơ đồ chân DHT11

DHT11 có cấu tạo 4 chân như Hình 2.4 dưới đây

Hình 2.4 Cấu tạo chân cảm biến DHT11

Và Bảng 2.1 dưới đây mô tả các chân của cảm biến DHT11

Trang 15

Bảng 2.1 Bảng mô tả các chân của cảm biến DHT11

2 Data Đầu ra cả nhiệt độ và độ ẩm thông qua dữ liệu nối tiếp

− Phạm vi cảm biến nhiệt độ: 0°C ~ 50°C, sai số ±2°C

− Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần)

− Tín hiệu đầu ra kỹ thuật số

− Độ phân giải để đo nhiệt độ là 8-bit, 1ºC

− Độ phân giải là 1% RH, nó không thể nhận các biến thể dưới mức đó

là hệ số nhiệt độ âm, có nghĩa là điện trở giảm khi nhiệt độ tăng

Trang 16

Hình 2.5 Đồ thị thể hiện sự phụ thuộc trở kháng với nhiệt độ

Hiểu một cách đơn giản, điện trở nhiệt hoạt động để cản trở dòng điện Nếu vật dẫn điện tốt thì điện trở sẽ nhỏ và ngược lại, vật dẫn điện kém thì điện trở sẽ lớn Đặc biệt, nếu vật cách điện thì điện trở sẽ vô cùng lớn Điện trở nhiệt NTC hay thermistor nói chung sẽ cản trở dòng điện của một vật dẫn điện và sau đó chuyển từ điện năng sang nhiệt năng

Giả sử quan hệ giữa độ lớn của trở kháng và nhiệt độ tuyến tính với nhau, khi đó ta có công thức (2.1):

.

Trong đó:

− ΔR là lượng thay đổi của trở kháng

− Δt là sự thay đổi của nhiệt độ

− k là hệ số nhiệt của điện trở

Với điện trở NTC, điện trở sẽ giảm theo nhiệt độ, do đó hệ số k sẽ có giá trị âm Ta cần lưu ý điều này để phân biệt giữa điện trở nhiệt NTC và PTC PTC cũng là một loại điện trở nhiệt nhưng nó sẽ tăng theo nhiệt độ, do đó hệ số k của PTC có giá trị dương Ngoài ra, ta cũng cần lưu ý, điện trở NTC chỉ tuyến tính trong khoảng nhiệt độ nhất định 50 - 150D

Trang 17

Giao tiếp với vi xử lý

Sơ đồ kết nối vi xử lý như Hình 2.6:

Hình 2.6 Sơ đồ kết nối giữa vi xử lý và cảm biến DHT11

Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:

− Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại

− Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt

độ đo được

Bước 1: Gửi tín hiệu Start

Hình 2.7 MCU gửi tín hiệu Start và DHT phản hồi

− MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng thời gian >18ms Khi đó DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ

ẩm

− MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào

Trang 18

− Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp Nếu >40us mà chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với DHT11

− Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo nên cao trong 80us Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp được với DHT11 ko Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn thiện quá trình giao tiếp của MCU với DHT

Bước 2: Đọc giá trị trên DHT11

− DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte Trong đó: Byte 1: giá trị phần nguyên của độ ẩm (RH%)

Byte 2: giá trị phần thập phân của độ ẩm (RH%)

Byte 3: giá trị phần nguyên của nhiệt độ (TC)

Byte 4 : giá trị phần thập phân của nhiệt độ (TC)

Byte 5 : kiểm tra tổng ( Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa )

Trang 19

Hình 2.9 Data "1" Indication Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của MCU được DHT11 kéo lên 1 Nếu chân DATA là 1 trong khoảng 26-28 us thì là 0, còn nếu tồn tại 70us là 1 Do đó trong lập trình ta bắt sườn lên của chân DATA, sau đó delay 50us Nếu giá trị đo được

là 0 thì ta đọc được bit 0, nếu giá trị đo được là 1 thì giá trị đo được là 1 Cứ như thế ta đọc các bit tiếp theo

2.4 THIẾT KẾ MẠCH ĐIỀU KHIỂN PHẦN CỨNG

2.4.1 Tổng kết linh kiện

Các linh kiện được nhóm em thiết kế và sử dụng được thể hiện ở Bảng 2.2 dưới đây

Bảng 2.2 Tổng kết linh kiện

Trang 20

Hình 2.10 Sơ đồ kết nối giữa ESP32 và Module cảm biến DHT11 2.5 THIẾT KẾ CHƯƠNG TRÌNH ĐIỀU KHIỂN THIẾT BỊ

Lưu đồ thuật toán nhóm em triển khai như Hình 2.11 dưới đây

Hình 2.11 Lưu đồ thuật toán của chương trình

Chương trình nạp vào vi điều khiển được viết bằng ngôn ngữ C, được biên dịch qua IDF Framework Dựa vào các hàm của hãng đã có sẵn, cũng như tham khảo trên mạng

Trang 21

Internet nhóm em đã viết ra được các hàm sử dụng trong chương trình như Bảng 2.3 sau:

Bảng 2.3 Các file, hàm được sử dụng trong chương trình chính và chức năng của chúng

(gpio_num_t)gpio_num,&humidity,

&temperature);

Đọc giá trị thực của nhiệt độ từ cảm biến DHT11

xTaskCreate(&http_get_task,

"http get task", 4096, NULL, 5,

NULL);

Thực hiện hàm http_get_task()

2.6 Kết luận chương II

Chương 2 nhóm em đã trình bày về cách thiết kế mạch đo nhiệt độ không khí sử dụng cảm biến DHT11 từ phần cứng đến phần mềm Hy vọng độc giả có thể hiểu được phương án thiết kế của nhóm em

Trang 22

CHƯƠNG 3 KẾT QUẢ ĐO VÀ XỬ LÝ SAI SỐ

3.2 Xử lý sai số đo theo tính toán

Theo bảng kết quả, nhóm em tính ra được nhiệt độ tương đối trung bình với n=20

119.975

n i i

t t

Sai số dư:

Bảng dưới đây thể hiện sai số dư của từng lần đo

Bảng 3.2 Bảng tính toán sai số dư

Trang 23

Nhận thấy i 6 d nên không có giá trị nào bị sai trong quá trình đo

Sai số trung bình phương:

2

1

n i i

Cảm biến DHT11 có sai số về nhiệt độ từ : 2 C

3.3.2 Sai số ngẫu nhiên

Công thức dươi đây thể hiện sự phụ thuộc của điện trở kim loại vào nhiệt độ theo hàm bậc nhất

Ngày đăng: 25/05/2024, 10:07

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

TÀI LIỆU LIÊN QUAN

w