LỜI CẢM ƠNĐồ án vi điều khiển là một trong những thử thách trong quá trình học tập, thực hiện đề tài này sau hành trình hai năm học tập tại trường Cao Đẳng Kỹ Thuật Cao Thắng, là cơ hội
Trang 2THIẾT KẾ THI CÔNG BỘ ĐO NHIỆT ĐỘ VÀ ĐỘ ẨM
Giảng viên hướng dẫn:
T.s Đặng Đắc Chi Th.S Cù Minh Phước
Sinh viên thực hiện:
Lưu Đình Hoàng Phúc MSSV:0309221166
Trang 3NHIỆM VỤ ĐỒ ÁN
Thiết kế và thi công bộ đo nhiệt độ và độ ẩm hoạt động theo yêu cầu Bảng 1
và Bảng 2 với các thông số kỹ thuật sau:
Nguồn sử dụng: AC 220V – 50Hz
Tầm đo: 0 - 50 C và 20 – 70% RH o
Độ chính xác: ±0.2 C và ±5% RH ở nhiệt độ phòngo
Cảm biến: DHT11
Vi điều khiển 16F877A
Điều khiển hiển thị LCD
Cài đặt được ngưỡng quá nhiệt, quá ẩm
Lưu trữ giá trị cài đặt khi mất nguồn
Có vỏ hộp
Bảng 1: Lập trình vi điều khiển PIC16F877A theo các yêu cầu sau: STT Nội dung
Trạng thái ban đầu
1 Cấp nguồn, đèn báo nguồn 5VDC sáng LCD hiện thông số nhiệt
độ, độ ẩm môi trường hiện tại Các đèn báo trạng thái tắt
Trường hợp cảnh báo quá nhiệt
Còi buzzer trên board phát tiếng kêu “bíp bíp” chu kỳ 1s Đèn báo
Trang 4Trường hợp bình thường
7 Hiển thị giá trị nhiệt độ và độ ẩm hiện tại lên LCD
8 Còi trên buzzer trên board không phát tiếng kêu Đèn báo kích Relay1 và 2 tắt
9 Các relay ở trạng thái OFF
10 LCD: hiển thị “NOR”, báo trạng thái các Relay - OFF
Trường hợp nhấn RESET
11 Hệ thống trở lại Trạng thái ban đầu.
Bảng 2: Yêu cầu lập trình LCD Thiết kế theo yêu cầu sau:
Giao diện bình thường:
Hàng
1 TEMP: 20 o C HUMI: 65%
Hàng
2 STT:NOR RL1:OFF RL2:OFF
Hình 1: Giao diện bình thường
Giao diện cảnh báo quá nhiệt:
Hàng
1 TEMP:60 o C SET: 38 C RL1:ON o
Hàng
2 OVER TEMP !!!
Hình 2: Giao diện cảnh báo nhiệt độ
Giao diện cảnh báo quá ẩm:
Hàng
% SET: 60% RL2:ON
Trang 5Hàng
2 OVER HUMI !!!
Hình 3: Giao diện cảnh báo độ ẩm
Giao diện cài đặt ngưỡng nhiệt độ:
Hàng 1 SETTING TEMPERATURE
Hàng 2 TEMP: 38 C_ o
Hình 4: Giao diện cài ngưỡng nhiệt độ
Giao diện cài đặt ngưỡng độ ẩm:
Hàng
1 SETTING HUMIDITY Hàng
2 HUMI: 60%_
Hình 4: Giao diện cài ngưỡng độ ẩm
Thao tác cài đặt ngưỡng quá nhiệt:
ST
T Nội dung
SET: Cài ngưỡng quá nhiệt và quá ẩm
Trang 6C Thì giới hạn không giảm nữa nếu nhấn tiếp Nếu nhấn và giữ luôn giá trị nhiệt độ cài giảm theo tuyến tính.
4
Nhấn nút SET lần nữa cho vô giao diện cài đặt ngưỡng độ ẩm Lúc này
hệ thống ngưng hoạt động Màn hình LCD hiện lên giá trị ngưỡng độ ẩm trước đó đã cài và lưu vào EEPROM
5
Nhấn nhả nút UP giá trị nhiệt độ cài tăng lên 1 đơn vị % Tăng tới 70% Thì giới hạn không tăng lên nữa nếu nhấn tiếp Nếu nhấn và giữ luôn giá trị độ ẩm độ cài tăng theo tuyến tính
6
Nhấn nhả nút DOWN giá trị nhiệt độ giảm xuống 1 đơn vị % Giảm về 20% Thì giới hạn không giảm nữa nếu nhấn tiếp Nếu nhấn và giữ luôn giá trị độ ẩm cài giảm theo tuyến tính
7
Thông qua hai nút trên, khi người dùng chỉnh đến giá trị mong muốn Nhấn nút SET lần nữa LCD chuyển qua giao diện bình thường Loa trên board phát tiếng kêu ngắn “bip bip” báo đã cài và lưu giá trị mới vào EFPROM
Trang 7Nhận xét của Giảng viên hướng dẫn
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 8LỜI CẢM ƠN
Đồ án vi điều khiển là một trong những thử thách trong quá trình học tập, thực hiện đề tài này sau hành trình hai năm học tập tại trường Cao Đẳng Kỹ Thuật Cao Thắng, là cơ hội để các sinh viên có thể vận dụng kiến thức, kinh nghiệm đã được giảng dạy tại trường lớp, qua các buổi học lý thuyết cũng như các buổi học thực hành để hoàn thành tốt bài báo cáo kết thúc môn học.Được sự phân công của thầy Cù Minh Phước bộ môn Tự Động Hóa thuộc Khoa Điện – Điện tử trường Cao Đẳng Kỹ Thuật Cao Thắng, em đã thực hiện đề tài: “ Thiết Kế Thi Công Bộ Đo Nhiệt Độ Và Độ Ẩm ”
Sinh viên thực hiện đề tài xin gửi lời cảm ơn chân thành đến thầy Cù Minh Phước – giảng viên bộ môn Tự động hóa, người đã tận tình hướng dẫn qua từng buổi chia sẻ, thảo luận về đề tài Những lời khuyên, góp ý của thầy đã giúp đỡ em rất nhiều trong quá trình thực hiện đề tài đồ án Những thiếu sót, lỗi kỹ thuật cũng đã được thầy chỉ dạy tận tình Một lần nữa, sinh viên thực hiện đề tài xin chân thành cảm ơn thầy
Sinh viên thực hiện đề tài xin gửi lời cảm ơn chân thành đến tất cả các thầy,
cô trong Bộ môn Tự động hóa đã tận tâm truyền đạt những kiến thức, kinh nghiệm của thầy, cô qua các buổi học
Với điều kiện thời gian cũng như kinh nghiệm thực tế còn có hạn chế, quá trình thực hiện báo cáo này không thể tránh được những sai sót về thẩm mỹ cũng như kĩ thuật… Em mong nhận được sự chỉ bảo, ý kiến đánh giá của cácthầy, cô để báo cáo được hoàn thiện hơn
Em xin chân thành cảm ơn
Trang 10MỤC LỤC
NHIỆM VỤ ĐỒ ÁN 2
LỜI CẢM ƠN 7
DANH SÁCH CÁC HÌNH 10
DANH SÁCH CÁC BẢNG 11
CÁC TỪ VIẾT TẮT 11
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 12
1.1 Tổng quan về đề tài 12
1.2 Vai trò và mục tiêu của đề tài 12
1.3 Nguyên lý hoạt động 13
1.4 Cấu trúc quyển báo cáo 13
1.5 Kế hoạch thực hiện đề tài 14
CHƯƠNG 2: LÝ THUYẾT CƠ BẢN 15
2.1 Lý thuyết cơ bản 15
2.1.1 Nhiệt độ 15
2.1.1.1 Định nghĩa nhiệt độ 15
2.1.1.2 Các thang đo nhiệt độ 15
2.1.1.3 Độ ẩm 15
2.1.2 Tổng quan về PIC 15
2.1.3 Lập trình PIC 16
2.2 Các công cụ và thiết bị 17
2.2.1 Cảm biến DHT11 17
2.2.1.1 Cảm biến DHT11 là gì? 17
2.2.1.2 Thông số cơ bản: 17
2.2.1.3 Nguyên lý hoạt động 18
2.2.2 Màn hình LCD1602 20
2.2.2.1 Giới thiệu LCD1602 20
Trang 112.2.2.2 Thông số kỹ thuật 20
2.2.2.3 Sơ đồ chân LCD1602 21
2.2.2.4 Địa chỉ ba vùng nhớ 23
2.2.2.6 Bảng mã ASCII sử dụng cho LCD 26
2.2.2.7 Bảng địa chỉ cho LCD 26
2.2.3 Pic16F877A 27
2.2.3.1 Giới thiệu về Pic 16A877A 27
2.2.3.2 Sơ đồ chân pic 16F877A 28
2.2.3.3 Tổ chức bộ nhớ vi điều khiển 28
2.2.3.5 Các đặc tính Analog 29
2.2.3.6 Các cổng nhập/xuất của Pic 16F877A 29
2.2.4 Khối nguồn HLK-PM01 31
2.2.5 Giao tiếp PIC16F877A với DHT11 32
2.2.5.1 Giao tiếp với cảm biến DHT11 32
2.2.5.2 Định dạng dữ liệu của cảm biến DHT11 32
2.2.6 Vì sao lại sử dụng phần mềm CCS để lập trình? 33
Chương 3: SƠ ĐỒ KHỐI VÀ SƠ ĐỒ NGUYÊN LÝ 35
3.1 Sơ đồ khối 35
3.2 Sơ đồ nguyên lý 36
Trang 12DANH SÁCH CÁC HÌNH
Hình 2.2.1 Cảm biến DHT11 18
Hình 2.2.2 Sơ đồ kết nối của DHT11 với vi điều khiển 18
Hh 2.2.3 dạng tín hiệu giao tiếp với cảm biến 19
Hình 2.2.4 dạng tín hiệu khi ở bit 0 20
Hình 2.2.5 Các chân chính của LCD1602 21
Hình 2.2.6 LCD1602 22
Hình 2.2.7 Bảng các lệnh điều khiển của LCD 24
Hình 2.2.8 Bảng mã ASCII sử dụng cho LCD 26
Hình 2.2.9 Bảng địa chỉ cho LCD 26
Hình 2.2.10 Sơ đồ chân PIC16F877A 28
Hình 2.2.11 Nguồn HLK-PM01 31
Hình 2.2.12 Sơ đồ nguyên lý 33
Hình 3.1.1 Sơ đồ khối 35
Hình 3.2.1 Khối nguồn 36
Hình 3.2.2 Vi Điều khiển PIC16F877A 37
Hình 3.2.3 Cảm biến DHT11 37
Hình 3.2.4 Khối relay 38
Hình 3.2.5 Nút nhấn 38
Hình 3.2.6 LCD16x2 39
Hình 3.2.7 Khối cảnh báo 40
Trang 14CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1 Tổng quan về đề tài
Môi trường không khí xung quanh chúng ta thực sự là yếu tố không thể phủnhận về sức khỏe và chất lượng cuộc sống Trong thời hiện đại, với cuộc sống được nâng cao và những tiêu chuẩn mới về sự thoải mái và an toàn , việc tạo ra một môi trường nhân tạo lý tưởng trở nên vô cùng cấp thiết Nhiệt độ và độ ẩm, như hai yếu tố quan trọng nhất trong môi trường không khí, có ảnh hưởng sâu sắc đến sức khỏe , tinh thần và hiệu suất làm việc của con người Nhiệt độ quá cao hoặc quá thấp không chỉ gây ra cảm giác không thoải mái mà còn có thể gây ra các vấn đề về sức khỏe như trầm cảm, căng thẳng hoặc đau nhức cơ bắp Độ ẩm không phù hợp cũng có thể dẫn đến một loạt các vấn đề từ việc khó chịu cho da đến việc tăng nguy cơ nhiễm trùng đường hô hấp
Do đó, việc kiểm soát và duy trì một môi trường nhân tọa có nhiệt độ và độ
ẩm lý tưởng là rất quan trọng Trong các khu vực công cộng như văn phòng, trường học, bệnh viện hay các công trình công cộng , hệ thống điều hòa không khí không chỉ giúp tạo ra một môi trường thoải mái mà còn tăng hiệu suất làm việc và giảm thiểu nguy cơ lây nhiễm
Ngoài ra , trong các ngành công nghiệp như nông nghiệp, chế biến thực phẩm hay sản suất hàng hóa, việc kiểm soát nhiệt độ và độ ẩm không khí không chỉ là vấn đề thoải mái mà còn ảnh hưởng trực tiếp đến chất lượng và
an toàn của sản phẩm cuối cùng
Đề tài “Thiết Kế Thi Công Bộ Đo Nhiệt Độ Và Độ Ẩm” dùng để đo nhiệt
độ và độ ẩm bằng cảm biến DHT11 Hiển thị Trên LCD, cài đặt thông số bằng nút nhấn, cảnh báo khi vượt quá nhiệt độ và độ ẩm đã cài đặt Với những tính năng hiệu chỉnh mà nhóm thực hiện đề tài đã cố gắng làm giống nhất có thể so với mạch đo nhiệt độ và độ ẩm thương mại
Hệ thống chương trình này có thể mở rộng ra cho nhiều ứng dụng khác như bộ đo độ ẩm đất, đồng hồ theo thời gian thực trong thực tế
1.2 Vai trò và mục tiêu của đề tài
Nhiệt độ và độ ẩm là tín hiệu vật lý mà ta thường xuyên gặp trong đời sống sinh hoạt hàng ngày cũng như trong kĩ thuật và công nghiêp Việc đo đạc nhằm xác định chính xác giá trị của nhiệt độ và độ ẩm theo các thang đo, từ lâu đã trở thành một vấn đề mà cả những nhà khoa học hàng đầu thế giới cũng như những người dân thuộc nhiều lĩnh vực đều quan tâm Chính vì thế
Trang 15những phương pháp xác định, đo đạc ngày một nhiều hơn và chính xác hơn Hiện nay, việc sử dụng cảm biến nhiệt độ, độ ẩm trong khối ngành công nghiệp và cả dân dụng ngày càng phổ biến và mang lại hiệu quả cao.Ngày nay việc sử dụng các thiết bị điện tử phục vụ đời sống hàng ngày rất phổ biến Trong đó ta có thế kể đến các thiết bị cảm ứng và hiển thị các thông số môi trường phục vụ nhiều mục đích khác nhau nhằm tạo sự tiện lợi trong sinh hoạt hàng ngày Bắt nguồn từ mục đích đó, em đã thiết kế một mạch cảm biến nhiệt độ và độ ẩm hiển thị ra LCD sử dụng vi điều khiển PIC16F877A và cảm biến DHT11.
1.3 Nguyên lý hoạt động
- Nguyên lí hoạt động của máy đo độ ẩm và nhiệt độ có thể hiểu như sau:
- Đầu cảm biến nhiệt độ và độ ẩm sẽ tiếp xúc với môi trường, tín hiệu sẽ được truyền đến bộ phân tích xử lý, tính toán và xác định mức nhiệt độ, độ
ẩm tại điểm tiếp xúc Kết quả sẽ hiển thị ở màn hình LCD
- Xác định nhiệt độ và độ ẩm trong một không gian sẽ đo ở nhiều điểm để tính giá trị trung bình Ở khu vực kín hoặc có sự đối lưu không khí, máy có thể đo ở một điểm để xác định nhiệt độ, độ ẩm chung
1.4 Cấu trúc quyển báo cáo
- Nội dung quyển báo cáo gồm 3 phần:
+ Chương 1: Giới thiệu đề tài
+ Chương 2: Cơ sở lý thuyết
+ Chương 3: Sơ đồ khối và sơ đồ nguyên lý
Trang 161.5 Kế hoạch thực hiện đề tài
Thời gian Công việc Sinh viên thực hiện22/02/2024 Nhận đề tài Lưu Đình Hoàng Phúc23/02/2024 Tìm hiểu đề tài Lưu Đình Hoàng Phúc29/02/2024 Nộp tài liệu tìm kiếm
được
Lưu Đình Hoàng Phúc02/03/2024 Thiết kế sơ đồ khối và sơ
đồ nguyên lý
Lưu Đình Hoàng Phúc13/03/2024 Nộp sơ đồ khối và sơ đồ
nguyên lý
Lưu Đình Hoàng Phúc14/03/2024 Mua linh kiện và vẽ mạch
in
Lưu Đình Hoàng Phúc21/03/2024 Viết chương trình Lưu Đình Hoàng Phúc17/04/2024 Viết báo cáo Lưu Đình Hoàng Phúc05/05/2024 Hoàn tất mô hình Lưu Đình Hoàng Phúc
Bảng 1.5.1 Bảng phân công thực hiện nhiệm vụ đồ án
CHƯƠNG 2: LÝ THUYẾT CƠ BẢN
Trang 172.1 Lý thuyết cơ bản
2.1.1 Nhiệt độ
2.1.1.1 Định nghĩa nhiệt độ
- 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" Vật chất có nhiệt độ cao hơn thì nóng hơn
- Định nghĩa chính xác của nhiệt độ trong nhiệt động lực học dựa vào các định luật nhiệt động lực học, miêu tả bên dưới đây
- Nhiệt độ được đo bằng nhiệt kế Nhiệt độ được đo bằng các đơn vị khác nhau và có thể biến đổi bằng các công thức Trong hệ đo lường quốc tế, nhiệt
độ được đo bằng đơn vị Kelvin, ký hiệu là K Trong đời sống ở Việt Nam và nhiều nước, nó được đo bằng độ C (1 độ C trùng 274,15 K)(Chú thích: 1 độ
C bằng 1 K,, hai thang đo này cùng mức chia, chỉ có vạch xuất phát cách nhau 273.15 Trong đời sống ở nước Anh, Mỹ và một số nước, nó được đo bằng độ F (1 độ F trùng 255,927778 K)(xin chú thích: F = (1,8 x C) + 32, ⁰ ⁰hay 1 độ C bằng 1.8 độ F, nhưng mức xuất phát thang đo khác nhau, tính ra nhiệt độ cơ thể người khoảng hơn 98 F).⁰
2.1.1.2 Các thang đo nhiệt độ
- Để đo nhiệt độ của một vật thể trong vật lý phải xây dựng một thang đo chuẩn chung gọi là các thang nhiệt giai Các thang nhiệt giai hay dùng :+ thang nhiệt giai celsius
+ thang nhiệt giai fahrelheit
+ thang nhiệt giai kelvin
2.1.1.3 Độ ẩm
Trang 1816bit CP1600, vì vậy, người ta cũng gọi PIC với cái tên "Peripheral InterfaceController" (Bộ điều khiển giao tiếp ngoại vi) CP1600 là một CPU tốt, nhưng lại kém về các hoạt động xuất nhập, và vì vậy PIC 8-bit được phát triển vào khoảng năm 1975 để hỗ trợ hoạt động xuất nhập cho CP1600 PIC
sử dụng microcode đơn giản đặt trong ROM, và mặc dù, cụm từ RISC chưa được sử dụng thời bây giờ, nhưng PIC thực sự là một vi điều khiển với kiến trúc RISC, chạy một lệnh một chu kỳ máy (4 chu kỳ của bộ dao động)
- Năm 1985 General Instrument bán bộ phận vi điện tử của họ, và chủ sở hữumới hủy bỏ hầu hết các dự án - lúc đó đã quá lỗi thời Tuy nhiên PIC được
bổ sung EEPROM để tạo thành 1 bộ điều khiển vào ra khả trình Ngày nay rất nhiều dòng PIC được xuất xưởng với hàng loạt các module ngoại vi tích hợp sẵn (như USART, PWM, ADC ), với bộ nhớ chương trình từ 512 Word đến 32K Word
- Hiện nay, tại Việt Nam, đã có một cộng đồng nghiên cứu và phát triển PIC,dsPIC và PIC32
2.1.3 Lập trình PIC
- PIC sử dụng tập lệnh RISC, với dòng PIC low-end (độ dài mã lệnh 12 bit,
ví dụ: PIC12Cxxx) và mid-range (độ dài mã lệnh 14 bit, ví dụ: PIC16Fxxxx),tập lệnh bao gồm khoảng 35 lệnh, và 70 lệnh đối với các dòng PIC high-end (độ dài mã lệnh 16 bit, ví dụ: PIC18Fxxxx) Tập lệnh bao gồm các lệnh tính toán trên các thanh ghi, với các hằng số, hoặc các vị trí bộ nhớ, cũng như có các lệnh điều kiện, lệnh nhảy/gọi hàm, và các lệnh để quay trở về, nó cũng
có các tính năng phần cứng khác như ngắt hoặc sleep (chế độ hoạt động tiết kiện điện) Microchip cung cấp môi trường lập trình MPLAB, nó bao gồm phần mềm mô phỏng và trình dịch ASM
- Một số công ty khác xây dựng các trình dịch C, Basic, Pascal cho PIC Microchip cũng bán trình dịch "C18" (cho dòng PIC high-end) và "C30" (cho dòng dsPIC30Fxxx) Họ cũng cung cấp các bản "student edition/demo" dành cho sinh viên hoặc người dùng thử, những version này không có chức năng tối ưu hoá code và có thời hạn sử dụng giới hạn Những trình dịch mã nguồn mở cho C, Pascal, JAL, và Forth, cũng được cung cấp bởi PicForth
- GPUTILS là một kho mã nguồn mở các công cụ, được cung cấp theo công ước về bản quyền của GNU General Public License GPUTILS bao gồm các trình dịch, trình liên kết, chạy trên nền Linux, Mac OS X, OS/2 và Microsoft Windows GPSIM cũng là một trình mô phỏng dành cho vi điều khiển PIC
Trang 19thiết kế ứng với từng module phần cứng, cho phép giả lập các thiết bị đặc biệt được kết nối với PIC, ví dụ như LCD, LED
2.2 Các công cụ và thiết bị
2.2.1 Cảm biến DHT11
2.2.1.1 Cảm biến DHT11 là gì?
- Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì
chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất) Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp ta có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào
2.2.1.2 Thông số cơ bản:
- Nguồn: 3.0 -> 5.0 VDC
- Dòng sử dụng: 2.5mA max (khi truyền dữ
liệu)
- Đo tốt ở độ ẩm 20-90%RH với sai số ±5%RH
- Đo tốt ở nhiệt độ 0-50°C sai số ±2°C
- Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)
- Kích thước 15mm x 12mm x 5.5mm
- 4 chân, khoảng cách chân 0.1''
Trang 20Hình 2.2.1 Cảm biến DHT11
2.2.1.3 Nguyên lý hoạt động
Cảm biến DHT11 được hiệu chuẩn tại nhà máy và xuất dữ liệu nối tiếp, do
đó rất dễ thiết lập Sơ đồ kết nối cho cảm biến này như bên dưới
Hình 2.2.2 Sơ đồ kết nối của DHT11 với vi điều khiển
Nguyên lý hoạt động Để 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 tín 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
Trang 21Hình 2.2.3 dạng tín hiệu giao tiếp với cảm biến
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 Trong Code mình để 25ms 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 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ó