Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 21

ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRƯỜNG ĐIỆN – ĐIỆN TỬ


*****

ĐỒ ÁN II
ĐỀ TÀI: THIẾT KẾ MẠCH ĐO NHIỆT ĐỘ, ĐỘ ẨM
SỬ DỤNG CẢM BIẾN DHT 11

Giáo viên hướng Tào Văn Cường


dẫn :

lớp :
Họ và tên sinh viên Nguyễn Tiến Đạt
:
Mã số sinh 20221080P
viên :
Lớp LT-BK-ĐTVT01-K67
:

Hà Nội, 6/2024
LỜI NÓI ĐẦU
Trong thế kỷ 21, công nghệ đã trở thành một phần quan trọng của cuộc sống
hàng ngày, từ các ứng dụng di động thông minh cho đến các hệ thống tự động hoá
trong nhà và công nghiệp. Trong một thời đại mà dữ liệu và thông tin đang ngày càng
trở nên quan trọng, việc theo dõi các thông số môi trường như nhiệt độ và độ ẩm đã trở
thành một yếu tố quan trọng trong nhiều ứng dụng.

Chúng em đã chọn đề tài “Thiết kế mạch đo nhiệt độ, độ ẩm sử dụng cảm biến
DHT 11“ làm đề tài đồ án kỹ thuật II của chúng em. Cảm biến DHT11 là một trong
những cảm biến phổ biến nhất và hiệu quả để đo nhiệt độ và độ ẩm trong môi trường.
Với chi phí thấp và tính ổn định, nó đã tạo ra nhiều cơ hội ứng dụng rộng rãi, từ quản
lý thời tiết đến giám sát môi trường trong nhà và ngoài trời.

Báo cáo này sẽ trình bày quá trình thiết kế mạch sử dụng cảm biến DHT11 để đo
nhiệt độ và độ ẩm. Chúng em sẽ mô tả chi tiết về việc kết nối cảm biến với mạch điện
tử, cách đọc dữ liệu từ cảm biến và hiển thị chúng trên màn hình LCD.

Trong quá trình làm đồ án của mình, chúng em đã cố gắng để hoàn thiện đề tài một
cách tốt nhất. Nhưng với kiến thức và sự hiểu biết còn hạn chế nên chác chắn sẽ không
tránh khỏi những thiếu sót. Chúng em mong thầy đóng góp ý kiến để đề tài của chúng
em được hoàn thiện hơn.
Em xin gửi lời cảm ơn sâu sắc đến thầy Tào Văn Cường đã nhiệt tình hướng dẫn,
giúp đỡ và tạo điều kiện tốt nhất để em hoàn thành đồ án này.

2
LỜI CAM ĐOAN

Em xin cam đoan toàn bộ nội dung được trình bày trong đồ án Thiết kế và chế
tạo mạch đo nhiệt độ và độ ẩm sử dụng cảm biến DHT 11 là kết quả quá trình tìm hiểu
và nghiên cứu của bản thân. Các dữ liệu được nêu trong đồ án là hoàn toàn trung thực,
phản ánh đúng kết quả đo đạc thực tế. Mọi thông tin trích dẫn đều tuân thủ các quy
định về sở hữu trí tuệ; các tài liệu tham khảo đều được liệt kê rõ ràng. Em xin chịu
hoàn toàn trách nhiệm với những nội dung được viết trong đồ án này.

Hà Nội, ngày 15 tháng 6 năm


2024

Người cam đoan

Nguyễn Tiến Đạt

3
MỤC LỤC
● DANH MỤC KÍ HIỆU VIẾT TẮT................................................................................5
● TÓM TẮT ĐỒ ÁN...........................................................................................................7
● CHƯƠNG 1. CƠ SỞ LÝ THUYẾT CHUNG...............................................................8
1.1 Giới thiệu chung 8
1.2 Mạch Kit cho VĐK họ AVR 8
1.3 Ngôn ngữ lập trình và phần mềm 9
CHƯƠNG 2. CHI TIẾT CẤU HÌNH CỦA MẠCH KIT................................................10
2.1 Cấu trúc của mạch Kit 10
2.2 Các thông số chính của Kit 11
2.3 Nạp mã nguồn 12
2.4 Màn hình LCD 12
CHƯƠNG 3. THỰC HÀNH LẬP TRÌNH CHO VĐK...................................................14
3.1 Tạo Project mới với Adruino Uno R3 và nạp thử 14
CHƯƠNG 4. VẬN DỤNG CÁC KIẾN THỨC VÀO THỰC TẾ...................................16
4.1 Mục tiêu 16
4.2 Cảm biến DHT 11 16
4.3 Phương hướng giải quyết 17
- Cảm biến DHT11 sử dụng chuẩn giao tiếp 1_wire 17
4.4 Mô phỏng và thiết kế 18
4.4.1 Mô phỏng trên phần mềm proteus 8.................................................................18
4.5 Thử nghiệm và nhận xét 20
● KẾT LUẬN....................................................................................................................21
● TÀI LIỆU THAM KHẢO............................................................................................22

4
● DANH MỤC KÍ HIỆU VIẾT TẮT

Từ viết tắt Tiếng Việt


VĐK Vi điều khiển

5
● TÓM TẮT ĐỒ ÁN

Đồ án thiết kế II tập trung vào trình bày về việc tìm hiểu họ vi điều khiển AVR,
trong đồ án này vi điều khiển được sử dụng đó là Atmega 16. Qua đó tìm hiểu nguyên
lí hoạt động của bộ kit, các ứng dụng của bộ kit. Trong báo cáo này em sẽ trình bày
ứng dụng của bộ kit trong việc đo nhiệt độ, độ ẩm bằng cảm biến DHT 11 qua đề tài
“Thiết kế mạch đo nhiệt độ, độ ẩm sử dụng cảm biến DHT 11”. Đồ án gồm có bốn
chương:

Chương I. Cơ sở lý thuyết chung. Giới thiệu tổng quan về đề tài, về họ vi điều


khiển AVR, các ngôn ngữ thực hiện để lập trình vi điều khiển.

Chương II. Chi tiết cấu hình của mạch kit. Trình bày chi tiết về cấu trúc mạch
kit được sử dụng trong đồ án, các thông số của mạch kit, kết nối với các thiết bị ngoại
vi như LCD.

Chương III. Thực hành lập trình cho vi điều khiển. Tiến hành nạp code và chạy
thử vi điều khiển, kiểm tra hiệu năng và lỗi mạch.

Chương IV. Vận dụng vào kiến thức thực tế. Chương này sẽ đi vào tìm hiểu
thiết kế và giải quyết các mục tiêu của đề tài là sử dụng cảm biến nhiệt độ để đo và in
kết quả ra LCD theo những yêu cầu kĩ thuật cho trước.

6
● CHƯƠNG 1. CƠ SỞ LÝ THUYẾT CHUNG

1.1 Giới thiệu chung


Với học phần Đồ án II tìm hiểu về vi điều khiển họ AVR, nội dung được thiết kế
để nâng cao năng lực chuyên môn cho các sinh viên; giúp liên kết các khối kiến
thức về điện tử tương tự, điện tử số, kỹ thuật vi xử lý, xử lý số tín hiệu, thông tin số,
v.v. nhằm hoàn thiện khả năng vận dụng kiến thức vào thực tế.

Trong học phần này, nội dung công việc cần thực hiện bao gồm: làm quen công
cụ thiết kế mạch điện, thực hành lập trình phần cứng và xây dựng một ứng dụng cơ
bản với các vi mạch có thể lập trình được. Để đảm bảo tiến độ công việc, em và các
bạn sinh viên khác đã được viện hỗ trợ một số phương tiện cơ bản để triển khai
công việc trên nền tảng xây dựng sẵn, có thể kế thừa.

Sau khi tiếp cận nhanh với vi điều khiển (VĐK) thông qua việc xây dựng một số
ứng dụng trên VĐK họ AVR cụ thể trong bài báo cáo này em dùng Atmega16A. Em
sẽ tiến hành giải quyết một vấn đề cụ thể - thiết kế mạch đo nhiệt độ và hiển thị trên
LCD sử dụng cảm biến tương tự và cụ thể đó là cảm biến DHT 11 - một cảm biến
nhiệt độ tương tự được ứng dụng phổ biến trong việc cảm biến nhiệt độ.

1.2 Mạch Kit cho VĐK họ AVR


AVR là một VĐK 8 bit khá mạnh và thông dụng tại thị trường Việt Nam. Với tốc
độ xung nhịp tối đa lên tới 16 Mhz, bộ nhớ chương trình tối đa tới 256 kB, và rất
nhiều chức năng ngoại vi tích hợp sẵn, VĐK họ AVR có thể đáp ứng tốt cho nhiều
ứng dụng trong thực tế, từ đơn giản đến phức tạp.

Với Kit phát triển Adruino Uno R3 sử dụng trong học phần Đồ án II (hình 1.1)
để đảm bảo tính hiệu quả trong quá trình thực hiện. Bộ kit có thể được thử nghiệm
với các ứng dụng cơ bản sau:

● Nhiều ứng dụng điều khiển các chức năng tích hợp sẵn trong VĐK như: vận
hành các bộ định thời (Timer) và bộ đếm (Counter), đọc ghi EEPROM, lập
trình các ngắt chương trình, thiết lập Watchdog, v.v.

7
Hình 1 : Mạch Kit phát triển
Ngoài ra, bằng việc kết nối giữa các mô-dun mở rộng, mạch Kit hoàn toàn có thể
thực hiện các ứng dụng phức tạp hơn như:

● Đo tham số môi trường: nhiệt độ, độ ẩm, độ sáng, v.v.

● Điều khiển tải cơ bản: đèn báo, van điện tử, động cơ DC, động cơ bước, v.v.

● Điều khiển hiển thị cơ bản: LED ma trận, LCD ma trận, màn hình cảm ứng,

v.v.

● Giao tiếp I2C và SPI: IC thời gian thực, IC EEPROM, cảm biến gia tốc, v.v.

● Ứng dụng tổng hợp: đo và duy trì sự ổn định các tham số mô trường; số hóa

và xử lý tín hiệu âm thanh, điều khiển robot hoặc xe tự hành, v.v.

1.3 Ngôn ngữ lập trình và phần mềm


AVR nói chung chung cũng như Atmega16 nói riêng hỗ trợ 2 ngôn ngữ lập trình
thông dụng là Assembly và C. Việc lập trình bằng Assembly giúp chương trình nhỏ
gọn nhưng khá phức tạp do gần với ngôn ngữ máy. Lập trình bằng C tuy cho chương
trình có dung lượng lớn hơn so với khi lập trình bằng Assembly, nhưng đổi lại dễ dàng
hơn trong việc code và debug.

8
Để lập trình cho AVR, có khá nhiều trình biên dịch, ví dụ như AVR studio,
WinAVR, codevisionAVR…
Trong nội dung về học phần Đồ án II, em sẽ sử dụng ngôn ngữ lập trình C để lập
trình cho VĐK. Môi trường để soạn thảo và biên dịch là phần mềm Adruino. Ngoài ra,
trong phần vận dụng em có sử dụng thêm phần mềm Proteus 8.6 để mô phỏng mạch.
CHƯƠNG 2. CHI TIẾT CẤU HÌNH CỦA MẠCH KIT

2.1 Cấu trúc của mạch Kit


Mạch Kit được cung cấp để đáp ứng các ứng dụng cơ bản có cấu trúc và chức
năng của từng linh kiện quan trọng được nêu trong bảng dưới đây. Đầu tiên ta sẽ tìm
hiểu về sơ đồ các chân của adruino uno r3.

Hình 3 : Sơ đồ chân

9
Bảng 2.1 JANALOG

Bảng 2.2. JDIGITAL

2.2 Các thông số chính của Kit


Các thông số kĩ thuật của Kit:
• Điện áp nguồn:
- Tiêu chuẩn: 5VDC cấp qua USB
- Điện áp vào khuyên dùng: 7 – 12 VDC
- Điện áp vào giới hạn: 6 – 20 VDC
• Số chân Digital I/O: 14 ( 6 chân hardware PWM )
• Số chân Analog: 6 ( độ phân guiari 10bit )
• Dòng tối đa trên mỗi chân I/O: 30mA
• Dòng ra tối đa ( 5V ) : 500mA

10
• Dòng ra tối đa ( 3.3V ): 50mA
• Mạch không khả năng tự bảo vệ khi bị lắp ngược cực tính nguồn
• Điện áp tương tự vào các chân ADC: 0 – 5V
• Loại VĐK được hỗ trợ: Atmega16, Atmega32 và tương đương

2.3 Nạp mã nguồn


Nạp mã nguồn cho Adruino là loại cổng COM thông dụng. Windows có thể quản
lý tới 256 cổng COM. Ngoài ra cũng có thể dùng mạch nạp ISP thông dụng chuẩn
10 chân như hình dưới.

Hình 6 : Mạch nạp ISP chuẩn 10 chân

2.4 Màn hình LCD


Mạch Kit tương thích với màn hình LCD text (LCD 1602) như trên hình dưới.

Hình 7 : Màn hình LCD 1602 sử dụng trong bộ Kit


Để kết nối được LED LCD với mạch kit cần rất nhiều chân kết nối rườm rà. Để giảm thiểu số
chân kết nối, ta dùng thêm mạch giao tiếp chuẩn I2C cho Led, được gắn trực tiếp vào Led như
hình minh hoạ dưới đây. Nhờ đó mà có thể giảm thiểu số chân kết nối, giúp cho tổng thể nhìn
mạch đỡ rườm rà phức tạp hơn

11
12
CHƯƠNG 3. THỰC HÀNH LẬP TRÌNH CHO VĐK

3.1 Tạo Project mới với Adruino Uno R3 và nạp thử


Khi bắt đầu lập trình với Adruino chúng ta sử dụng phần mềm Adruino IDE

Cụ thể, để tạo một Project mới và nạp thử mã máy cho VĐK ta cần thông qua
các bước sau:

Bước 1: Trong Atmel Studio 6, vào File > New > Project . Sau khi thay đổi tên và
đường dẫn lưu project thì ta bấm OK .

Hình 9 : Giao diện tạo Project mới trong Adruino IDE

Bước 2: Sau khi tạo Project, tiến hành code trên giao diện trang code có sẵn, có
thể cài các thư viện điều khiển cần thiết. Trên Adruino Library, có rất nhiều thư viện
khác nhau, chú ý chọn thư viện cho phù hợp với các linh kiện cũng như kit Adruino
được sử dụng.

13
Hình 10 : Giao diện code

14
CHƯƠNG 4. VẬN DỤNG CÁC KIẾN THỨC VÀO THỰC TẾ

4.1 Mục tiêu


Sau quá trình làm quen công cụ thiết kế mạch điện và thực hành lập trình phần
cứng với mã nguồn mẫu, em sẽ vận dụng các kiến thức đã học để thiết kế và hoàn
thiện một yêu cầu được đặt ra, bao gồm:

• Thiết kế mạch đo nhiệt độ sử dụng cảm biến DHT 11


• Thiết kế mạch cảnh báo nhiệt độ.

Trong học phần này, em sẽ chọn đề tài 1 “Thiết kế và chế tạo mạch đo nhiệt độ
và độ ẩm sử dụng cảm biến DHT 11” làm đề tài trong phần vận dụng kiến thức vào
thực tế.

Mục tiêu: Chế tạo một mạch điện có khả năng đo nhiệt độ trong dải 0-100 ℃ sử
dụng các cảm biến DHT 11. Kết quả đo được hiển thị bằng màn hình LCD với độ
phân giải nhiệt độ và độ ẩm tối thiểu lần lươt là là 0.1 ℃ và 1%. Đồng thời nếu độ
ẩm lớn hơn 60% thì đèn led cảnh báo sẽ sáng

4.2 Cảm biến DHT 11


Cảm biến nhiệt độ DHT11 là cảm biến rất thông dụng hiện này vì chi phí rẻ và
rất dễ lấy dữ liệu thông qua giao tiếp 1_Wire. 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. So với cảm biến đời mới hơn là DHT22 thì DHT11 cho khoảng đo và chính
xác kém hơn rất nhiều

15
Hình 15 : Cảm biến nhiệt độ DHT 11
Một số thông số kĩ thuật của IC cảm biến này:

• Điện áp hoạt động: 3.3 –5.5 V


• Khoảng đo nhiệt độ: 0℃ đến 50 ℃
• Khoảng đo độ ẩm: 20% - 90 %
• Tần số lấy mẫu tối đa: 1Hz

4.3 Phương hướng giải quyết

- Cảm biến DHT11 sử dụng chuẩn giao tiếp 1_wire

1_Wire là một chuẩn giao tiếp được thiết kế bởi Dallas Semiconductor và đã được
maxim mua lại năm 2001. Maxim là một hãng sản xuất chip lớn.
1_Wire dùng một dây để truyền nhận nên có tốc độ thấp. Chủ yếu sử dụng cho việc
thu nhập dữ liệu, truyền nhận dữ liệu thời tiết, nhiệt độ, công việc không yêu cầu tốc
độ cao.
- Ở đaay ta sẽ dùng mạch chuyển giao tiếp I2C cho DHT11

Phương thức giao tiếp của DHT11

Khung truyền – gói tin

Một gói tin của DHT11 bao gồm 40 bit, tương ứng với 5 byte. Trong đó:

Byte 1: giá trị phần nguyên của độ ẩm

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

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

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

Byte 5: kiểm tra tổng là tổng của 4 byte phía trước cộng lại

DHT11 sẽ gửi MSB(bit có trọng số lớn nhất) tức là byte 1 sẽ được gửi đầu tiên,
cuối cùng là byte 5.

Chu trình nhận dữ liệu

Trạng thái bình tường DHT11 sẽ ở trạng thái tiêu thụ năng lương thấp. Khi có tín
hiệu Reset, chúng sẽ được wakeup sau đó DHT11 phản hồi bằng các kéo chân Data
xuống 1 khoảng thời gian rồi nhả ra

Sau đó 5 byte dữ liệu sẽ được gửi đi, MCU sẽ đọc 5 byte đó. Kết thúc DHT11
nhả chân Data về lại mức 1 và trở về trạng thái tiết kiệm năng lượng. Nó sẽ được
đánh thức nếu có 1 tín hiêu reset.

4.4 Mô phỏng và thiết kế

4.4.1 Mô phỏng trên phần mềm proteus 8


Sau khi đã thay đổi code, ta tiến hành mô phỏng trên phần mềm Proteus. Kết quả
thu được đạt được yêu cầu đề ra và có độ chính xác cao.

17
Hình 17 : Mô phỏng mạch đo nhiệt độ, độ ẩm sử dụng DHT 11 trên Proteus

Lưu ý: Tiến hành biên dịch sang mã máy và mô phỏng bằng cách, click chuột
vào VĐK trong Proteus, trong bảng hiện ra tại Program file chọn đường dẫn đến file
.hex vừa được dịch. Sau đó bấm OK và Debug > Run Simulation.

Hình 18 : Thiết lập chọn file mã máy cho VĐK để mô phỏng trong Proteus

18
Hình 19 : Kết quả mô phỏng trên Proteus

4.5 Thử nghiệm và nhận xét


Dưới đây là kết quả thực tế mạch đo nhiệt độ, độ ẩm sử dụng cảm biến DHT 11

Hình 21: Nhiệt độ và độ ẩm đã được đo và hiển thị trên màn hình


Nhiệt độ, độ ẩm đã được đo và hiển thị trên màn hình LCD.

19
● KẾT LUẬN

Qua quá trình tìm hiểu, nghiên cứu và thực hiện đề tài “Thiết kế và chế tạo mạch
đo nhiệt độ, độ ẩm sử dụng cảm biến DHT11 “ , em nhận thấy các kết quả khảo sát so
sánh thu được thông qua phần mềm mô phỏng và thực nghiệm là hoàn toàn phù hợp
với các lý thuyết đã được tính toán trước đó. Trong quá trình thực hiện em đã có cơ hội
tìm hiểu và vận dụng được các kiến thức đã học và tìm hiểu vào ứng dụng sản phẩm
thực tế. Từ đó mà nắm chắc hơn kiến thức về vi điều khiển họ AVR cụ thể là Atmega
16, cũng như nắm chắc hơn về cách xây dựng các mạch điện tử thông qua các phần
mềm mô phỏng như Proteus.
Qua đồ án này, em nhận thấy đề tài không chỉ hữu ích trong thực tiễn mà qua đó
giúp tiếp thu nhiều hơn các kiến, thức cơ bản của ngành điện tử, cũng như giúp các
sinh viên nâng cao khả năng thuyết trình, tìm kiếm, nghiên cứu các tài liệu. Đây là cơ
sở giúp em có nền tảng vững chắc hơn trong quá trình học tập và nghiên cứu sau này.
Một lần nữa em xin chân thành cảm ơn thầy Tào Văn Cường đã tận tình hướng dẫn
và tạo mọi điều kiện thuận lợi nhất giúp đỡ em trong quá trinh hoàn thành đồ án này!

20
● TÀI LIỆU THAM KHẢO

[1] Th.S Tào Văn Cường, “Tài liệu hướng dẫn xây dựng một số ứng dụng cơ bản
với vi điều khiển AVR”.
[2] UNO R3 | Arduino Documentation
[3] Arduino Uno Pinout, Specifications, Pin Configuration & Programming
(components101.com)
[4] ATMEGA16 Datasheet(PDF) - ATMEL Corporation (alldatasheet.com)
[5] 16x2 LCD Display Module Pinout, Features, Description & Datasheet
(components101.com)

21

You might also like